//匿名内部类在开发中的应用
public class test1_NoNameInner {
public static void main(String[] args) {
PersonDemo yy = new PersonDemo();
//yy.method(new Student());
yy.method(new Person() {
public void show(){
System.out.println("show");
}
});//匿名内部类当作参数传递,本质把匿名内部类看做一个对象
}
}
//这里写抽象类,接口都行;
abstract class Person{
public abstract void show();
}
class PersonDemo{
//public void method(Person p){ //Person p = new Student();
/*
Person p = new Person(){ //父类引用指向子类对象
public void show(){ //将注释里面的这些东西赋值给Person p;
System.out.println("show");
}
};
*/
public void method(Person p){ //编译看的是父类show方法();
p.show(); //运行看的是子类调用重写之后show方法;
}
}
class Student extends Person{
public void show(){
System.out.println("show");
}
}
面向对象(匿名内部类在开发中的应用)
猜你喜欢
转载自blog.csdn.net/qq_41264055/article/details/80148118
今日推荐
周排行