【问题标题】:How to solve Enum or Interface expected error如何解决枚举或接口预期错误
【发布时间】:2014-09-01 18:09:06
【问题描述】:
Public class Parent {

    int a, b;

    public void sum() {

        System.out.println(a + b);

    }

}

class Child extends Parent {

    public void mul() {

        System.out.println(a * b);

    }

}

class Inh1 {

    public static void main(String args[]) {

        Child c = new Child();

        c.a = 20;
        c.b = 20;

        c.sum();
        c.mul();

    }

}

如果在子类和父类前面没有写“Public”,则此代码可以正常工作....输出将是....40 和 400,但是一旦在类父类之前写入 public,我就会收到此错误Inh1.java:1: class, interface, or enum expected 如果我在 Child 类之前写 Public 也会出现同样的错误

我的第二个疑问是当我写“公共”(大写 P)时,我得到了

Inh1.java:1: class, interface, or enum expected 

但如果我写“public”(小 p),则错误是

Inh1.java:1: class Parent is public, should be declared in a file named Parent.java

请澄清我的这些小疑问,我是编程、java 和 OOPS 的新手

【问题讨论】:

  • 这是一个简单的印刷错误。任何 IDE 都会自动纠正这个问题,这就是使用它们的充分理由。
  • 另外:java 区分大小写。
  • 在 Java 中,每个公共类都需要在具有该名称的文件中声明。所以公共Parent类需要在Parent.java中

标签: java oop inheritance


【解决方案1】:
  • 一个文件中只能有一个顶级公共类
  • 文件只能由该公共类命名
  • 用小号p公开

【讨论】:

  • @soulcheck 您的评论正确但不相关。内部类不在这个问题的范围内。
  • @soulcheck - 我同意阿法辛。我仍然更新了我的正确答案。
【解决方案2】:

首先,用小写p写public:public不是Public

其次,一个文件中只能有一个(顶级)类是公共的(如果文件名为Parent.java,只有类Parent可以是公共的)

【讨论】:

    猜你喜欢
    • 2016-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-01-13
    • 1970-01-01
    • 2014-09-08
    • 2015-02-24
    • 2012-10-05
    • 1970-01-01
    相关资源
    最近更新 更多