月亮不是抽象的

Isa*_*ell -1 java

所以我有一个名为Moon的类,它实现了两个接口Inhabitable和Orbitable,它们都有两个抽象方法.在我班级的月亮中,我重写了两种抽象方法.Orbitable给了我没有错误但是Inhabitable是.这是错误.

1 error found:
File: /personalFilename/ [line: 1]
Error: Moon is not abstract and does not override abstract method chanceOfLife(int) in Inhabitable
Run Code Online (Sandbox Code Playgroud)

月亮班

public class Moon extends Planet implements Inhabitable, Orbitable
{
  public Moon()
  {
    super();
  }

  public void orbitSpeed(int speed)
  {
    this.setDistance((speed / 6.28) * 8760);
  }

  public void chanceOflife(int oxygen)
  {
    this.setOxygenLevels(oxygen);
  }

}
Run Code Online (Sandbox Code Playgroud)

轨道界面

public interface Orbitable
{
  public abstract void orbitSpeed(int speed);
}
Run Code Online (Sandbox Code Playgroud)

Inhabitable界面

public interface Inhabitable
{
  public abstract void chanceOfLife(int oxygen);
}
Run Code Online (Sandbox Code Playgroud)

Hai*_*ang 6

chanceOfLife(int oxygen)不是chanceOflife(int oxygen),它是资本L.

在覆盖方法时,您需要清楚一些事情,尽管这只是一个错字:

覆盖方法时,必须具有相同的方法签名(方法名称和参数).

您不必放入public abstract接口方法.接口中的所有方法都是public和abstract.

根据Hovercraft Full Of Eels的评论,当你覆盖一个方法时,使用Override它会检查被覆盖的是否正常.