为什么java中一个文件中的几个类编译后会变成几个.class文件?

时间:2021-09-19 15:58:55
C#编译后还是一个文件,java这样的意义是什么呢?

19 个解决方案

#1


JDK的一种机制

#2


java里面,一个class对应一个.class文件。

#3


java里边没一个类对应一个class文件,文件路径和包路径也是对应的。建议源代码也这么组织,比较直观。C#只是继承了c++的组织结构,不如java直观

#4


各有千秋,何必什么都要一样

#5


好像是内部类的原因吧。

#6


但是.class的文件名还是你文件中主类的name啊,兄弟!

#7


jvm的需要吧,嘿嘿,楼主厉害,从来没有思考过这个问题

#8


应该是跟java虚拟机有关

#9


其实这个还跟JAVA的反射机制有关

#10


一个Java资源文件里如果有几个class,就会编译成几个.class文件啊~~~~~~

#11


java就是生成.class文件!·这是有利于JVM解释

#12


java机制

#13


up

#14


java机制是什么,有没有人思考过这个问题,从来没想过

#15


程序里有几个类,就会生成几个CLASS文件。

#16


代码可以重用啊。。哈哈。。。

#17


没有什么为什么,java的实现机制就是这样,
他可以让你把几个类写在一个文件里是为了方便你,
而他把每个类生成一个单独的CLASS文件却是为了方便他自己,哈哈

#18


对阿
这样是产生.class 字节码文件啊

#19


我觉得java这样做是为了使一个工程理清晰,试想,如果你一个工程中,某个类报错,你直接按文件名查到这个类就行了,如果多个类写在一个文件中,查找起来就困难了。

#1


JDK的一种机制

#2


java里面,一个class对应一个.class文件。

#3


java里边没一个类对应一个class文件,文件路径和包路径也是对应的。建议源代码也这么组织,比较直观。C#只是继承了c++的组织结构,不如java直观

#4


各有千秋,何必什么都要一样

#5


好像是内部类的原因吧。

#6


但是.class的文件名还是你文件中主类的name啊,兄弟!

#7


jvm的需要吧,嘿嘿,楼主厉害,从来没有思考过这个问题

#8


应该是跟java虚拟机有关

#9


其实这个还跟JAVA的反射机制有关

#10


一个Java资源文件里如果有几个class,就会编译成几个.class文件啊~~~~~~

#11


java就是生成.class文件!·这是有利于JVM解释

#12


java机制

#13


up

#14


java机制是什么,有没有人思考过这个问题,从来没想过

#15


程序里有几个类,就会生成几个CLASS文件。

#16


代码可以重用啊。。哈哈。。。

#17


没有什么为什么,java的实现机制就是这样,
他可以让你把几个类写在一个文件里是为了方便你,
而他把每个类生成一个单独的CLASS文件却是为了方便他自己,哈哈

#18


对阿
这样是产生.class 字节码文件啊

#19


我觉得java这样做是为了使一个工程理清晰,试想,如果你一个工程中,某个类报错,你直接按文件名查到这个类就行了,如果多个类写在一个文件中,查找起来就困难了。