为什么我们不能在静态内部类中定义main函数?

阿尼克特·塔库尔

我有以下简单的代码

public class Tester {
    static class TesterChild {
        public static void main(String args[]) {
            System.out.println("Test");
        }
    }
}

它编译良好。但是当我运行它时,出现以下错误

[aniket@localhost src]$ java Tester
Error: Could not find or load main class Tester

问题是为什么我们不能在静态内部类中定义我们的main方法?

更新1:

如答案/评论中所指定,我已将代码更改为以下代码

public class Tester {
    public static class TesterChild {
        public static void main(String args[]) {
            System.out.println("Test");
        }
    }
}

我编译了它,并制作了两个类文件Tester.classTester$TesterChild.class但是我还是出错了

[aniket@localhost Desktop]$ java Tester$TesterChild
Error: Could not find or load main class Test

更新2:

好的,现在我将当前目录包含在类路径中,并且执行时仍然出现错误

[aniket@localhost Desktop]$ java -cp . Tester$TesterChild
Error: Main method not found in class Tester, please define the main method as:
   public static void main(String[] args
亚当·阿罗德(Adam Arold)

它可以按原样运行,main但您没有使用正确的类。你的主类是没有Tester,但Tester.TesterChild

在Eclipse中,它无需任何设置即可运行,但是您必须从命令行使用java 'yourpackage.Tester$TesterChild'上面提到的其他语法。

您需要在''s中包装类的名称,因为在linux / unix上,shell可能认为这$TesterChild是一个变量。如果您在提示中尝试一下,则省略''s将会得到类似以下内容

错误:找不到或加载主类测试器

如果需要显式设置类路径,则可以使用-cp-classpath选项,也可以从命令行进行设置:set CLASSPATH=/somedir

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我们不能在main函数中定义函数?

来自分类Dev

为什么我们不能在方法内部声明私有本地内部类?

来自分类Dev

为什么我们不能在方法内部声明私有本地内部类?

来自分类Dev

为什么我们不能在构造函数中创建非静态自引用对象

来自分类Dev

为什么我们不能在构造函数中创建非静态自引用对象

来自分类Dev

为什么我们不能在结构内部声明函数?

来自分类Dev

为什么我们不能在结构内部声明函数?

来自分类Dev

为什么我们不能在.Net中创建静态类的实例

来自分类Dev

为什么我们不能在C#中的结构中定义数组

来自分类Dev

为什么我们不能在C#中的结构中定义数组

来自分类Dev

为什么我不能在泛型类上静态引用内部类的静态方法?

来自分类Dev

为什么我们不能在Java构造函数中传递字符串

来自分类Dev

为什么我不能在内部类中声明和初始化静态变量?

来自分类Dev

为什么我不能在声明中定义静态字段?

来自分类Dev

为什么我们不能在模板静态成员初始化中使用auto?

来自分类Dev

为什么我们不能在扩展类的静态方法中使用此实例?

来自分类Dev

为什么我们不能在main()方法之外将元素添加到ArrayList中?

来自分类Dev

为什么我们不能在main()方法之外将元素添加到ArrayList中?

来自分类Dev

为什么静态成员函数只能在类定义内部声明为静态,而不能在其自身定义中声明为静态?

来自分类Dev

为什么我们不能/不能在内核编程中同样使用OOP概念?

来自分类Dev

为什么我们不能在开始时将结构指针定义为null

来自分类Dev

为什么我们不能在jquery中使用setAtrribute函数?

来自分类Dev

为什么我们不能在函数中使用 raw_input?

来自分类Dev

为什么我们不能在没有公共成员函数的情况下访问类外部的私有静态成员?

来自分类Dev

为什么我们不能在构造函数初始化列表中初始化静态变量,但可以在构造函数主体中初始化

来自分类Dev

为什么我们不能在构造函数初始化列表中初始化静态变量,但可以在构造函数主体中初始化

来自分类Dev

为什么我们不能在三元运算符中返回?

来自分类Dev

为什么我们不能在Express.js中执行多个response.send?

来自分类Dev

为什么我们不能在col标签中设置颜色?

Related 相关文章

  1. 1

    为什么我们不能在main函数中定义函数?

  2. 2

    为什么我们不能在方法内部声明私有本地内部类?

  3. 3

    为什么我们不能在方法内部声明私有本地内部类?

  4. 4

    为什么我们不能在构造函数中创建非静态自引用对象

  5. 5

    为什么我们不能在构造函数中创建非静态自引用对象

  6. 6

    为什么我们不能在结构内部声明函数?

  7. 7

    为什么我们不能在结构内部声明函数?

  8. 8

    为什么我们不能在.Net中创建静态类的实例

  9. 9

    为什么我们不能在C#中的结构中定义数组

  10. 10

    为什么我们不能在C#中的结构中定义数组

  11. 11

    为什么我不能在泛型类上静态引用内部类的静态方法?

  12. 12

    为什么我们不能在Java构造函数中传递字符串

  13. 13

    为什么我不能在内部类中声明和初始化静态变量?

  14. 14

    为什么我不能在声明中定义静态字段?

  15. 15

    为什么我们不能在模板静态成员初始化中使用auto?

  16. 16

    为什么我们不能在扩展类的静态方法中使用此实例?

  17. 17

    为什么我们不能在main()方法之外将元素添加到ArrayList中?

  18. 18

    为什么我们不能在main()方法之外将元素添加到ArrayList中?

  19. 19

    为什么静态成员函数只能在类定义内部声明为静态,而不能在其自身定义中声明为静态?

  20. 20

    为什么我们不能/不能在内核编程中同样使用OOP概念?

  21. 21

    为什么我们不能在开始时将结构指针定义为null

  22. 22

    为什么我们不能在jquery中使用setAtrribute函数?

  23. 23

    为什么我们不能在函数中使用 raw_input?

  24. 24

    为什么我们不能在没有公共成员函数的情况下访问类外部的私有静态成员?

  25. 25

    为什么我们不能在构造函数初始化列表中初始化静态变量,但可以在构造函数主体中初始化

  26. 26

    为什么我们不能在构造函数初始化列表中初始化静态变量,但可以在构造函数主体中初始化

  27. 27

    为什么我们不能在三元运算符中返回?

  28. 28

    为什么我们不能在Express.js中执行多个response.send?

  29. 29

    为什么我们不能在col标签中设置颜色?

热门标签

归档