【问题标题】:In Java why cant we use an inner class with name as String if the parent class has psvm在Java中,如果父类有psvm,为什么我们不能使用名称为String的内部类
【发布时间】:2016-04-16 16:42:46
【问题描述】:
public class OuterClass {
    public static void main(String[] args) {
        System.out.println("Hello !");
    }

    private class String {
      int i = 10;
    }
}

以上代码编译正常

当我尝试运行上述代码时,它抛出错误为“错误:在类中找不到主方法,请将主方法定义为: public static void main(String[] args)" 。为什么会发生这种运行时异常?

【问题讨论】:

    标签: java


    【解决方案1】:

    因为你的内部类比java.lang.String 具有更高的可见性;因此您更改了main 签名。更改您的main 喜欢

    public static void main(java.lang.String[] args) {
        System.out.println("Hello !");
    }
    

    或将您的班级重命名为String

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-15
      • 2016-03-28
      • 1970-01-01
      • 2020-11-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多