在主文件中创建一个java类?

时间:2011-07-19 05:28:24

标签: java class inner-classes

是否可以在包含main方法的同一文件中创建一个类?我正在练习的编程竞赛只接受一个文件作为解决方案,因此我不能将该类写在一个单独的文件中并将其发送出来。

我知道你可以创建内部类,但它是否提供与普通类相同的功能?

4 个答案:

答案 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(){
      ...
     }
}