D
D肯定是错的
注意这个源文件,它非常具有迷惑性
源文件≠源代码
源代码是整个项目,包含所有的文件,而源文件只是其中一个文件
如果你的项目只有一个文件,那这个文件就是程序入口,里面的类当然必须是主类
但是如果你有一个文件只是被调用,它必然不包含主类,不管里面到底有几个class
而B和C是矛盾的,一个说必须有一个是public,一个说可以都不是public,那么答案必然在BC里选一个
一般情况下,只有一个类时,这个类就是主类,就是被public Test{}修饰的,文件名也得是Test.java.
这个类也可以不和文件名一样,比如Demo.java,但是编译生成的class文件还是Test.class,不是Demo.class.
执行:java Test是对的。java Demo是错的。