91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

anonymousinnerclass怎么用

發布時間:2022-01-14 09:07:35 來源:億速云 閱讀:131 作者:iii 欄目:大數據

本文小編為大家詳細介紹“anonymousinnerclass怎么用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“anonymousinnerclass怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

anonymousinnerclass(匿名內部類)是否可以extends(繼承)其它類,是否可以implements(實現)interface(接口)?

匿名內部類在實現時必須借助一個接口或者一個抽象類或者一個普通類來構造,從這過層次上講匿名內部類是實現了接口或者繼承了類,但是不能通過extends或implement關鍵詞來繼承類或實現接口。

幾點說明:

一、由于匿名內部類沒有名字,所以它沒有構造函數。因為沒有構造函數,所以它必須完全借用父類的構造函數來實例化,匿名內部類完全把創建對象的任務交給了父類去完成。

二、在匿名內部類里創建新的方法沒有太大意義,但它可以通過覆蓋父類的方法達到神奇效果,如上例所示。這是多態性的體現。 

三、因為匿名內部類沒有名字,所以無法進行向下的強制類型轉換,持有對一個匿名內部類對象引用的變量類型一定是它的直接或間接父類類型。 

四、注意匿名內部類的聲明是在編譯時進行的,實例化在運行時進行。這意味著for循環中的一個new語句會創建相同匿名類的幾個實例,而不是創建幾個不同匿名類的一個實例。

class Car{
  void move(){};
}

interface Person{
  void learn();
}

abstract Class Animal{
  abstract void eat();
}

public class AnonymousInnerClassDemo {
  public static void main(String[] args){
     Car car = new Car(){
       void move(){
          System.out.println("匿名內部類的move()方法");
       }
     }
     car.move();
     
     Person person = new Person(){
       void learn(){
          System.out.println("匿名內部類的learn()方法");
       }
     }
     person.learn();
     
     Aninal animal = new Animal(){
        void eat(){
           System.out.println("匿名內部類的eat()方法");
        }
     }
  }
}

讀到這里,這篇“anonymousinnerclass怎么用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

正安县| 岱山县| 普格县| 奎屯市| 利辛县| 普兰店市| 密山市| 于田县| 遵义市| 江阴市| 沽源县| 印江| 桂东县| 黑山县| 临泽县| 淅川县| 仲巴县| 来安县| 宜州市| 高雄县| 辽宁省| 武乡县| 徐州市| 贵溪市| 庄河市| 福海县| 武定县| 建始县| 永定县| 仪征市| 榆林市| 江达县| 宿迁市| 绥阳县| 芜湖市| 元阳县| 烟台市| 怀来县| 桂平市| 察隅县| 沈阳市|