一个Java 文件只能有一个public class吗

今天做了一个笔试题,里面有一个选择题,问一个Java文件,里面包含一个名为first的public,为了成功编译该文件,需要满足的条件是?
A.源文件名为必须为first
B.源文件必须导入java.lang包
C.源文件必须具有package语句
D.必须包含main方法
答案
选择A.
为什么
我专门查了一些资料。
java文件包含public类
一个java源文件最多包含一个public类,并且这个类必须与源文件名相同,否则编译器报错,不能编译。

//java文件为second,测试类名
public class first {
    public static void main(String[] args) {
        System.out.println("nihao ");
    }

}
//java文件为second,测试只能有一个public类
public class second {

}

public class first{

}

java文件不包含public类
java文件不包含public类,这个类就无须于java文件名相同。

//java文件为second
class first {

}

main方法
main包含不一定必须包含在public类中,但是要想运行main方法,无论类标识符如何,类名与文件名都必须相同,否则运行出错,“错误: 找不到或无法加载主类.second”

//java文件为second
class first {
    public static void main(String[] args) {
        System.out.println("nihao ");
    }

}

你可能感兴趣的:(笔试题,java基础)