目標:

  • 掌握匿名內部類別的作用
  • 掌握匿名內部類別的定義格式

匿名內部類別是指沒有一個實際名稱的類別,此概念是在介面和抽象類別應用上發展起來的

內部類別的操作

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!!!


總結:

  1. 在實際的Java開發中經常會使用到各種開發的框架,在框架上會大量的引用匿名內部類。
  2. 匿名內部類是在抽象類別和接面的基礎之上發展起來的。
arrow
arrow
    文章標籤
    Java
    全站熱搜
    創作者介紹
    創作者 mingyilai 的頭像
    mingyilai

    mingyilai的部落格

    mingyilai 發表在 痞客邦 留言(0) 人氣()