Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的嵌套类测试方法_Java_Static_Nested Class - Fatal编程技术网

Java中的嵌套类测试方法

Java中的嵌套类测试方法,java,static,nested-class,Java,Static,Nested Class,我正在学习“用Java思考”。我只是想知道为什么上面的代码不起作用,它应该是测试每个类的一种方法,可以通过删除TestBed$Tester.class文件来删除 错误消息指示在TestBed类中应该有一个公共静态void main(字符串[]args)作为程序条目 java编译版本:javac1.7.0(40方法必须在公共顶级类中。这是一个与java文件同名的文件。这里是测试床-类 当前的main方法位于内部类中(即TestBed$Tester),不能用于启动程序 编辑:我可能错了。我看了一下你

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

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


java编译版本:javac1.7.0(40

方法必须在公共顶级类中。这是一个与java文件同名的文件。这里是
测试床
-类

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

编辑:我可能错了。我看了一下你提到的那本书,看起来你可以通过编写以下代码来运行内部类:

//: 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思考,第四版”。我只想知道为什么它教我们这种方法。@shanwu我更新了我的答案。(不确定在删除之前我的评论时是否通知您)#~/java_practice/innerclasses$javac TestBed.java#~/java_practice/innerclasses$java TestBed$Tester错误:在TestBed中找不到主方法。。。publicstaticvoidmain(String[]args)您的java编译器版本是什么?我不知道这是否与java编译器版本有关……请尝试
TestBed\$Tester
而不是
TestBed$Tester
。如果您使用的是Unix/Linux,那么您需要像这样避开
$
。它成功了!!谢谢!对于unix/linux,我们应该运行这样的内部类测试程序#java TestBed\$Tester
java TestBed$Tester