Java基礎學習之final和多態及類型轉換

來源:互聯網
上載者:User

標籤:final 多態 類型轉換 jav

final關鍵字:

     final關鍵字是最終的意思,可以修飾類,成員變數,成員方法。

         ?    修飾類,類不能被繼承

        ?    修飾變數,變數就變成了常量,只能被賦值一次。

        ?    修飾方法,方法不能被重寫

    

     final關鍵字面試題

        ?    final修飾局部變數

            在方法內部,該變數不可以被改變,只可以賦值一次。

            在方法聲明上,分別示範基本類型和參考型別作為參數的情況

            基本類型,是值不能被改變

           參考型別,是地址值不能被改變。對象在堆記憶體的值是可以改變的。

      ?    final修飾變數的初始化時機

                在物件建構完畢前即可(非靜態常量)

 

許可權修飾符修飾局部變數沒有任何意義。

 

多態:某一個事物,在不同時刻表現出來的不同狀態。

 

看對象時,從有往左看。

 舉例:

  貓可以是貓的類型。貓 m = new 貓();

  同時貓也是動物的一種,也可以把貓稱為動物。

  動物 d = new 貓();

 

多態前提和體現

      ?    有繼承關係

     ?    有方法重寫

     ?    有父類引用指向子類對象

 

多態時成員訪問特點

    成員變數

           編譯看左邊,運行看左邊

   成員方法

          編譯看左邊,運行看右邊

    靜態方法和類相關

          編譯看左邊,運行看左邊

         所以靜態方法不能算方法的重寫

 

對象的轉換關係

(1)      向上轉型:在建立對象時,對象可以作為本身的類型引用,可以作為父類型的引用(將一個子類對象直接賦值給一個父類的引用變數)。

向上轉型文法:<父類型><引用變數>=new<子類型>

實際調用的是子類的方法。

(2)向下 轉型:將父類的對象作為其子類的類型的引用(需要強制類型轉換)。

                   向下轉型的文法:<子類型> <引用變數> = (<子類型>)<父類型引用變數>;

類型轉換注意事項

(1)向上,向下都必須是兩個類型之間存在繼承關係。

(2)向上時,系統會自動進行類型轉換,無強制轉換。

(3)向下時,只有父類的引用變數才能轉換成子類,一個父類的執行個體對象是不能被強制轉換成子類的。

(4)基礎資料型別 (Elementary Data Type)的轉換時只能是數值型的資料(包括整型,字元型,浮點型),同時數值型無法同布爾類型轉換。

 

多態的好處:提高代碼的可維護性(由繼承體現)   提高代碼的擴充性

 

 

 


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Java基礎學習之final和多態及類型轉換

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.