匿名內部類在開發中的應用
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");}
}