一个JAVA文件可以写几个Class类?

时间:2021-12-26 15:31:25

习惯了一个JAVA文件写一个类,今天突然看到了这个问题,一时没反映过来。后来自己写了几个DEMO测试了一下,结果如下:

class Demo3{
	String name;
	Integer age;
	Double height;
	
	public void sleep(){
		System.out.println(name+"在睡觉");
	}
	
	public void nowAge(){
		System.out.println(name+"今年"+age+"岁了");
	}
}

class Demo4{
	public static void main(String[] args){
		Demo3 demo = new Demo3();
		demo.name = "小黄";
		demo.age = 10;
		demo.height = 1.7;
		demo.sleep();
		demo.nowAge();
	}
}

编译后,生成 了两个文件

Demo3.class

Demo4.class

从这里可以看出,一个JAVA文件中,可以写多个class类的。

注意,这里不是内部类,内部类编译后生成的class文件名不是Demo4.class,而是类似于Demo3$Demo5.class这种。

不过一个JAVA文件写多个class类不建议,维护比较麻烦。而且不容易懂。