Java學習筆記1:匿名內部類的相關錯誤
阿新 • • 發佈:2018-12-30
class Test1_NoNameInnerClass {
public static void main(String[] args) {
//如何呼叫PersonDemo中的method方法呢?
PersonDemo p=new PersonDemo();
//p.method(new Student());
p.method(new Person(){//整段代表繼承,匿名內部類當做引數傳遞,本質把匿名內部類看做一個物件
public void method(){ /改為show/
System.out.println(“show”);
}
});
}
}
//抽象類
abstract class Person{
public abstract void show();
}
class PersonDemo{
public void method(Person p){
p.show();
}
}
class Student extends Person{
public void show(){
System.out.println(“show”);
}
}
---------- javac ----------
Test1_NoNameInnerClass.java:6: 錯誤: <匿名Test1_NoNameInnerClass$1>不是抽象的, 並且未覆蓋Person中的抽象方法show()
p.method(new Person(){//整段代表繼承,匿名內部類當做引數傳遞,本質把匿名內部類看做一個物件
^
1 個錯誤
輸出完成 (耗時 2 秒) - 正常終止