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

猜你喜欢

转载自blog.csdn.net/qq_30242987/article/details/85380735