首页 > 解决方案 > 如何修复“表达式的非法开始缺少 javadoc”错误

问题描述

我无法运行 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);
        }
    }
}

标签: java

解决方案


您的代码有两个问题:

  1. 您需要将这两个类Bird放入Swan单独的文件中。
  2. 你的swim()方法你的main方法中,那是行不通的。

鸟.java

package pond.shore;

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

天鹅.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()


推荐阅读