是否可以在包含main方法的同一文件中创建一个类?我正在练习的编程竞赛只接受一个文件作为解决方案,因此我不能将该类写在一个单独的文件中并将其发送出来。
我知道你可以创建内部类,但它是否提供与普通类相同的功能?
答案 0 :(得分:2)
是的,您可以在单个.java
文件中定义多个顶级类。见Java: Multiple class declarations in one file
对于大多数用途,嵌套类应该也能正常工作。您可能希望声明此类static
以避免使用implicit reference to the outer class。
答案 1 :(得分:0)
你总是有一个持有主方法的类,但你也可以将内部类放入这个类中。
这样的事情:
public class A {
protected class B {
}
public static void main(String[] args){
}
}
答案 2 :(得分:0)
内部类不能有静态方法,所以你不能拥有main
。但是,静态嵌套类确实可以有main
。
另外,正如aix的回答所说,你也可以在同一个源文件中拥有多个包 - 私有顶级类。
答案 3 :(得分:0)
从编译器的角度来看,在单个源文件中有几个类是100%有效的。我经常使用此功能在单个屏幕中创建对象层次结构,并稍后将类和接口重构为自己的源文件。 请记住,源文件中只有一个类可以公开。
public class Runner {
public static void main(String[] args){
new A().process();
}
}
class A{
public void process(){
...
}
}