亚洲区国产区激情区无码区,国产成人mv视频在线观看,国产A毛片AAAAAA,亚洲精品国产首次亮相在线

Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向對象(I)

Java 面向對象(II)

Java 面向對象(III)

Java 異常處理

Java 列表(List)

Java Queue(隊列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java 匿名類

在本教程中,您將借助示例學習Java中的匿名類。

在Java中,一個類可以包含另一個稱為嵌套類的類??梢栽诓惶峁┤魏蚊Q的情況下創(chuàng)建嵌套類。

沒有任何名稱的嵌套類稱為匿名類。

必須在另一個類中定義一個匿名類。因此,它也被稱為匿名內(nèi)部類。其語法為:

class outerClass {

    //定義匿名類
    object1 = new Type(parameterList) {
         //匿名類的主體
    };
}

匿名類通常繼承子類或實現(xiàn)接口。

在這里,類型(Type)可以是

  1. 匿名類繼承的超類

  2. 匿名類實現(xiàn)的接口

上面的代碼在運行時創(chuàng)建了一個匿名類的對象object1。

注意:匿名類在表達式內(nèi)定義。因此,在匿名類的末尾使用分號來表示表達式的末尾。

示例1:匿名內(nèi)部類繼承類

class Polygon {
   public void display() {
      System.out.println("在Polygon類內(nèi)");
   }
}

class AnonymousDemo {
   public void createClass() {

      //創(chuàng)建匿名類,繼承類Polygon
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("匿名類的內(nèi)部。");
         }
      };
      p1.display();
   }
}

class Main {
   public static void main(String[] args) {
       AnonymousDemo an = new AnonymousDemo();
       an.createClass();
   }
}

輸出結果

匿名類的內(nèi)部。

在上面的示例中,我們創(chuàng)建了一個類Polygon。它只有一個方法display()。

然后,我們創(chuàng)建了一個匿名類,該類繼承類Polygon并重寫了display()方法。

當我們運行該程序時,將創(chuàng)建一個匿名類的對象p1。然后該對象調用匿名類的display()方法。

示例2:實現(xiàn)接口的匿名類

interface Polygon {
   public void display();
}

class AnonymousDemo {
   public void createClass() {

      //匿名類實現(xiàn)接口
      Polygon p1 = new Polygon() {
         public void display() {
            System.out.println("匿名類的內(nèi)部。");
         }
      };
      p1.display();
   }
}

class Main {
   public static void main(String[] args) {
      AnonymousDemo an = new AnonymousDemo();
      an.createClass();
   }
}

輸出結果

匿名類的內(nèi)部。

在上面的示例中,我們創(chuàng)建了一個實現(xiàn)該Polygon接口的匿名類。

匿名類的優(yōu)點

在匿名類中,只要需要就創(chuàng)建對象。即,創(chuàng)建對象以執(zhí)行某些特定任務。例如,

Object = new Example() {
   public void display() {
      System.out.println("匿名類重寫display()方法。");
   }
};

在這里,當我們需要重寫display()方法時,將動態(tài)創(chuàng)建匿名類的對象。

匿名類也有助于我們使代碼簡潔。