编译以下代码时,编译器显示错误:
InterfaceTest.java:19:错误:找不到符号knightObj.dispBK();
public class InterfaceTest{
public static interface Knight{
public void embark();
}
public static class BraveKnight implements Knight{
private int id;
public BraveKnight(int id){
this.id = id;
}
public void dispBK(){
System.out.println("ID: "+id);
}
public void embark(){
System.out.println("ID: "+id);
}
}
public static void main(String[] args){
Knight knightObj = new BraveKnight(101);
knightObj.dispBK();
}
}
Run Code Online (Sandbox Code Playgroud)
可能的原因是什么?
Knight是你的界面,它没有定义一个叫做的方法dispBK().您的knightObj对象是类型Knight,因此您需要将其强制转换BraveKnight为能够调用该dispBK()方法.
或者,您可以将dispBK()方法添加到界面中.
你的第三个选择是像这样初始化你的对象:BraveKnight knightObj = new BraveKnight(101);.
我热烈推荐使用Eclipse之类的IDE,它们会像这样容易出错.
| 归档时间: |
|
| 查看次数: |
144 次 |
| 最近记录: |