java學習--基礎知識進階第三天--筆記

來源:互聯網
上載者:User

標籤:抽象類別   多繼承   封裝   運行時   多個   exce   抽象方法   它的   非靜態方法   

今日內容
介面
多態

介面interface
介面的概述
介面是比抽象類別還抽象的類,因為介面所有的方法都是抽象方法
介面的由來
可以解決Java中類單一繼承的局限性
格式:
interface 介面名 {

}
使用
implements ,類去實現介面

介面中成員的特點
成員變數
只有常量
預設的修飾符 public static final
成員方法
只有抽象方法,沒有非抽象方法
預設修飾符 public abstract
構造方法
沒有構造方法

類與介面之間的關係
類與類:繼承關係(extends),單一繼承,多層繼承
類與介面:類實現(implements)介面(interface),一個類可以實現多個介面
介面與介面:繼承關係(extends)多繼承(一個介面可以繼承多個介面),多層繼承

介面的優點
(1)解決了單一繼承的局限性
(2)對外提供規則
(3)降低了程式的耦合性(可以實現模組化開發,定義好規則,每個人實現自己的模組,提高了開發的效率)

介面與抽象類別之間的區別
(1)定義上不同
介面是interface關鍵字定義的
抽象類別是abstract class關鍵字定義的
(2)與類之間的關係不同
介面與類,類實現介面,可以多實現
抽象類別與類,繼承關係,只能單一繼承,不能多繼承,但是可以多層繼承
(3)成員的不同
成員變數
介面:沒有成員變數,只可以有常量,預設修飾符public static final
抽象類別:可以有成員變數,也可以有常量
成員方法
介面:沒有非抽象方法,只可以有抽象方法,它的抽象方法是有預設修飾的,public abstract
抽象類別:既可以有非抽象方法,也可以有抽象方法,它的抽象方法是沒有預設修飾符的
構造方法
介面:沒有構造方法
抽象類別:有構造方法,為子類提供

物件導向的三大特徵:
封裝
繼承
多態

多態
什麼是多態:多態就是一個事物的多種形態,比如水可以是水,也可以成為冰;貓是一隻貓,也是動物

蘇軾曰:橫看成嶺側成峰,遠近高低各不同

Java中的多態表現在父類的引用指向子類的對象,比如Animal a = new Cat();

A:普通類多態定義的格式
B:抽象類別多態定義的格式
C:介面多態定義的格式

多態的前提:
(1)有繼承或者實現關係
(2)有方法重寫
(3)父類的引用指向子類的對象

多態中成員的特點
Animal a = new Cat();
成員變數
編譯時間看左邊(父類),運行時看左邊(父類)
成員方法(非靜態方法)(動態綁定)
編譯時間看左邊(父類),運行時看右邊(子類)
靜態方法
編譯看左邊(父類),運行時看左邊(父類)

簡而言之:編譯看左邊(父類),運行時成員方法(非靜態方法)看的是右邊,其他(成員變數和靜態方法)看的都是左邊

參考型別的類型轉換
向上轉型:由小的類型轉為大的類型
Animal a = new Cat();
向下轉型:由大的類型轉為小的類型
Cat c = (Cat)a;

ClassCastException類型轉換異常,將一種類型轉為另一種類型,而這兩種類型不是同一種類型或者不是父類型

多態的優缺點:
優點:
提高了代碼的可維護性
提高了代碼的可擴充性
缺點:
多態之後不能訪問子類特有的成員

instancof 運算子,instancof也是一個關鍵字
作用是判斷運算子前面的對象(或者對象名)是否是運算子後面的一種類型

格式:
對象(對象名) instanceof 類型

注意:instanceof的使用並不是任意的對象和類型都能放在一起進行判斷的,對象的類型和運算子後面的類型必須要有子父類別關係,
否則的話,編譯都不能通過

java學習--基礎知識進階第三天--筆記

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.