1. 程式人生 > >Java學習筆記1:匿名內部類的相關錯誤

Java學習筆記1:匿名內部類的相關錯誤

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 秒) - 正常終止