//: innerclasses/TestBed.java
// Putting test code in a nested class.
// {main: TestBed$Tester}

public class TestBed {
  public void f() { System.out.println("f()"); }
  public static class Tester {
    public static void main(String[] args) {
      TestBed t = new TestBed();
      t.f();
    }
  }
} /* Output:
f()
*///:~


我正在学习“用Java思考”。我只是想知道为什么上面的代码不起作用,这应该是测试每个类的一种方法,可以通过删除TestBed $ Tester.class文件将其删除。

错误消息指示在TestBed类中应该有一个公共的静态void main(String [] args)作为程序条目。

java编译版本:javac 1.7.0_40

最佳答案

main方法必须在公共顶级类中。与Java文件同名。在这里,这是TestBed类。

当前的main方法位于内部类(即TestBed$Tester)中,不能用于启动程序。

编辑:我可能错了。我看过您提到的书,看起来您可以通过编写以下内容来运行Command Promt中的内部类:

java TestBed$Tester

关于java - 嵌套类作为Java中的测试方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26029272/

10-11 17:16