所以我有一个名为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)
chanceOfLife(int oxygen)不是chanceOflife(int oxygen),它是资本L.
在覆盖方法时,您需要清楚一些事情,尽管这只是一个错字:
覆盖方法时,必须具有相同的方法签名(方法名称和参数).
您不必放入public abstract接口方法.接口中的所有方法都是public和abstract.
根据Hovercraft Full Of Eels的评论,当你覆盖一个方法时,使用Override它会检查被覆盖的是否正常.
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |