这个面试题的答案在网上一搜一大把 但都是两句话就结束了,我们来仔细看一下具体是什么情况!
首先 肯定的一点是一个.java的源文件中是可以包含多个类的,但是public类只能有一个,并且类名要和文件名相同,如果有两个public类 就会报出以下的错误
这个public 类型的test2 一定要定义在其他的文件里
我们把test2的public去掉 就正常了
同时我们可以使用 类名.class.getResource(“”) 来获取 .class文件存放的绝对地址
public static void main(String[] args) {
URL resource = Test1.class.getResource("");
System.out.println(resource);
}
jdk 编译后的存放.class文件的文件夹 ,看到 文件夹里生成了两个class文件
这就是刚才一个文件里定义的两个类