如何修复“表达式的非法开头缺少javadoc”错误

时间:2019-04-06 15:21:59

标签: java

我无法运行OCA准备书中介绍的示例。有人可以建议吗?

我正在尝试完全探索方法的受保护访问,但是遇到以下问题:

pond/swan/Swan.java:[20,6] illegal start of expression
pond/swan/Swan.java:[25,9] class, interface, or enum expected

谢谢

package pond.shore;

public class Bird {
    protected String text = "floating";
    protected void floatInWater() {
        System.out.println(text);
    }
}

//and then I created the second package herebelow:

package pond.swan;
import pond.shore.Bird;

public class Swan extends Bird{
    public static void main(String[] args) {

        public void swim () {

            floatInWater();
            System.out.println(text);
        }
    }
}

2 个答案:

答案 0 :(得分:0)

您的代码有两个问题:

  1. 您需要将BirdSwan这两个类放在单独的文件中。
  2. 您的swim()方法是您的main方法的,并且无效。

Bird.java

package pond.shore;

public class Bird {
    protected String text = "floating";
    protected void floatInWater() {
        System.out.println(text);
    }
}

Swan.java

package pond.swan;
import pond.shore.Bird;

public class Swan extends Bird {
    public static void main(String[] args) {
        Swan swan = new Swan();
        swan.swim();
    }

    public void swim() {
        floatInWater();
        System.out.println(text);
    }
}

这将输出:

floating
floating

一个“浮动”来自Bird.floatInWater(),另一个来自Swan.floatInWater()

答案 1 :(得分:0)

单个Java文件中不能有两个exec(msBuildCmd, { cwd: path.dirname(locationFolder) }, (err: (Error & { code?: string | number }) | null, log: string, stderr: string) => { if (err) { console.log(err); } });

选项1: 您可以从public classpublic

中删除public class Swan关键字之一

选项2: 每个java文件保留一个类。即将任一类移到单独的Java文件中。

Why a Single Java Source File Can Not Have More Than One Public Class 可能会有帮助。