首页 > 试题广场 >

一个Java源程序文件中定义几个类和接口,则编译该文件后生成

[单选题]
一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。
  • 正确
  • 错误
发表于 2018-05-14 18:14:46 回复(38)
    牛逼啊,原来是我没有理解题目意思,这个题目是说一个Java源程序中有n个类和接口,就会生成n个以.class为后缀名的文件,但是它忽略了在类和接口里面还可以定义内部类和匿名内部类,这个时候就不仅仅是n个了,还需要加上定义了多个内部类和匿名内部类。
    比如说在一个Java源程序中定义了1个接口,1个类,而在这个接口里面定义了一个内部类,在这个类中定义了一个匿名内部类,这样就是不是2个class文件,而是4个class文件。
发表于 2022-04-17 12:04:11 回复(13)
一个.java文件中定义多个类:
注意一下几点:
(1) public权限类只能有一个(也可以一个都没有,但最多只有一个);
(2)这个.java文件名只能是public 权限的类的类名;
(3)倘若这个文件中没有public 类,则它的.java文件的名字是随便的一个类名;
(4)当用javac命令生成编译这个.java 文件的时候,则会针对每一个类生成一个.class文件;

发表于 2017-05-22 09:26:15 回复(9)
如果类中有内部类,会产生类名$内部类名.class,如果有匿名类则会产生 类名$1.class.。所以类编译不一定会产生1个class文件。所以答案应该是B
发表于 2017-11-23 17:06:11 回复(9)



发表于 2018-03-08 18:59:45 回复(1)
个人认为答案应该A
看评论看的我傻乎乎的....难不成定义几个类。匿名内部类就不是类的组成部分了????

1)难不成匿名内部类不是内部类了?逗我呢

Java类由五大部分组成:

  • 成员变量/Field域
  • 方法(method)
  • 构造器
  • 代码块
  • 内部类【包含匿名内部类,那么题目答案应该是  正确 才对 怎么就是错误了?】
借点赞最多的一张图片【侵权联系删除,谢谢】



发表于 2022-05-19 21:13:24 回复(4)
接口是怎么回事
发表于 2017-05-24 23:10:35 回复(2)
内部类编译后也会生成.class的字节码文件么?
发表于 2017-05-12 10:41:14 回复(2)
后缀名为.java的文件编译后就会产生.class后缀的字节码文件
编辑于 2017-05-08 22:54:11 回复(0)
这道题是答案错了吗?有没有人知道
发表于 2022-04-19 23:07:25 回复(6)
使用了lambda表达式创建的匿名内部类就不会生成class文件,看了csdn和亲测都是这样
发表于 2021-05-19 16:51:43 回复(1)
外部类{
    内部类{}
    内部接口{}
}
这不是2个类,1个接口吗,一共生成3个.class文件啊,
题目“一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。
2个类1个接口,一共3个class文件啊,怎么错了??
题目把    内部    类或接口    的定义只当作    一个外部类的成员定义了???
发表于 2018-06-17 13:03:07 回复(1)
发表于 2020-01-05 14:13:30 回复(0)
内部类呢?
发表于 2017-09-09 19:15:37 回复(0)
如果类中有内部类,会产生类名$内部类名.class;
如果有匿名类则会产生 类名$1.class.。
所以类编译产生的.class文件个数>=类个数(这里的类不包含内部类和匿名类)
所以答案选B
发表于 2023-03-20 10:08:30 回复(0)
接口 和类 都会产生.class
发表于 2017-08-10 17:08:45 回复(0)

一个文件中定义多个类:

public权限的类只有一个,且必须是文件名的类。

内部类生成[外部类名]$[内部类名].class

接口生成

匿名类生成[外部类名]$1.class

编辑于 2021-07-08 07:40:25 回复(0)
一个.java文件中
1 必须要有与同名类,该类中必须要有main方法;
2 只有同名类才有资格被public修饰。所以一个.java文件中,public类至多有一个;
3 每个接口、类都会生成一个对应的.class文件。

发表于 2020-03-03 19:18:39 回复(0)
当程序编译的时候,会形成一个二进制类也就是.class
发表于 2017-10-07 20:56:33 回复(0)
误人子弟
发表于 2025-01-21 08:16:32 回复(0)