目標:
- 掌握匿名內部類別的作用
- 掌握匿名內部類別的定義格式
匿名內部類別是指沒有一個實際名稱的類別,此概念是在介面和抽象類別應用上發展起來的
內部類別的操作
interface A{
public void printInfo() ; // 定義抽象方法
}
class B implements A{ //定義介面實現類別
public void printInfo(){ //覆寫抽象方法
System.out.println("Hello World!!!") ;
}
};
class X { //定義X類別
public void fun1(){ //定義fun()方法
this.fun2(new B()) ; //傳遞子類別實例
}
public void fun2(A a){ //接收介面實例
a.printInfo() ; //呼叫介面方法
}
};
public class NoInnerClassDemo{
public static void main(String args[]){
new X().fun1() ; //產生實體X類別物件並呼叫fun()方法
}
};
執行結果:
Hello World!!!
匿名內部類別
interface A{ // 定義介面A
public void printInfo() ; // 定義抽象方法
}
class X { //定義X類別
public void fun1(){ //定義fun()方法
this.fun2(new A(){ //匿名內部類別
public void printInfo(){ //實現介面中的抽象方法
System.out.println("Hello World!!!") ;
}
}
) ;
}
public void fun2(A a){ //接收介面實例
a.printInfo() ; //呼叫介面方法
}
};
public class NoInnerClassDemo{
public static void main(String args[]){
new X().fun1() ; // 產生實體X類別物件並呼叫fun1()方法
}
};
執行結果:
Hello World!!!
總結:
- 在實際的Java開發中經常會使用到各種開發的框架,在框架上會大量的引用匿名內部類。
- 匿名內部類是在抽象類別和接面的基礎之上發展起來的。