一个java文件有多个类,编译后有几个class文件
程序员文章站
2022-04-14 10:45:09
...
说明:这是一个新的系列,定下一个目标,只要不忙,每天都会进行一次更新
验证
public class ClassD {
ClassB b;
public static void main(String[] args) {
System.out.println("xxx");
}
class ClassE {
ClassB b;
}
}
class ClassF {
ClassB b;
}
class ClassG {
ClassB b;
}
abstract class ClassH {
ClassB b;
}
interface ClassI {
}
上面的代码中一共有6个类,ClassD ClassE ClassF ClassG ClassH ClassI
ClassD 正常类
ClassE classD的内部类
ClassF 只是写在classD.java中的普通类
ClassG 只是写在classD.java中的普通类
ClassH 抽象类
ClassI 接口
编译之后,如图:
可以证明的是
如果再一个java文件中有多个类,除去内部类,剩下的每个普通类都会生成一个class文件
生成完的class文件:
public class ClassD {
ClassB b;
public ClassD() {
}
public static void main(String[] args) {
System.out.println("xxx");
}
class ClassE {
ClassB b;
ClassE() {
}
}
}
class ClassF {
ClassB b;
ClassF() {
}
}
class ClassG {
ClassB b;
ClassG() {
}
}
abstract class ClassH {
ClassB b;
ClassH() {
}
}
interface ClassI {
}
总结
如果一个java文件中有多个类,除去内部类,剩下的每个普通类都会生成一个class文件
如上图:一个java文件中有6个类生成了5个class文件,因为其中有个类是内部类,如果都是外部类的话,则会生成6个class文件
上一篇: 构建JSP、PHP与JAVA融为一体的开发环境_PHP教程
下一篇: 与语言无关的技术