1. 程式人生 > >JAVA基礎8-面向對象3

JAVA基礎8-面向對象3

如果 alt ati 判斷 父類 ins 調用 ext animal

一.類的多態:父類的引用指向子類的對象

在同一個方法中, 參數的類型相同,但是由於運行的環境不同而表現出來的不同的形式。

例:Dog類繼承了Animal類,則可以寫成:Animal dog = new Dog();

二.對象轉型

向上轉型:是隱式轉換,例如將貓類轉換成動物類;

向下轉型:是顯示轉換,例如將動物類轉化成貓類,前提是這個動物指向貓;

三.instanceof 關鍵字

用來判斷某個變量是否是一種類型;左邊寫變量,右邊寫類型,返回結果是boolean型;

父類的對象不能訪問子類中特有的成員(成員變量, 成員方法),例如狗的子類中有搖尾巴,定義為動物類的狗是不能調用這個方法的,如果要訪問需要將該狗顯示轉換;

四.抽象類(修飾符關鍵字abstract)

1.在一個類中, 某個方法不需要實現, 完全交給子類去實現, 這個方法需要被聲明為抽象方法,花括號需要去掉。

2.含有抽象方法的類, 必須被聲明為抽象類,抽象類可以沒有抽象方法,即使沒有抽象方法,也不能被實例化。

3.抽象類無法被實例化(無法使用new)。

4.抽象類的子類沒有能力去實現父類的抽象方法的時候,自己也需要被聲明為抽象類, 沒有實現的方法聲明為抽象方法,等待下一個子類去實現。

作用:使用抽象類的方法實際是定義了一種規則,指向的子類都要去實現這個規則,在維護時只需要修改指向就可以。

五.接口類(關鍵字:interface 即替換掉了class)

1.接口是一種特殊的抽象類,只能定義方法;類可以實現接口,關鍵字 implements;接口可以繼承接口,關鍵字 extends;

2.接口也是一種引用類型,例如學生類實現了歌手類接口,就可以創建一個歌手類引用指向學生類對象;

3.接口與抽象類的區別在於抽象類只能單繼承,而接口可以同時被實現多個,用逗號隔開;

4.接口中的方法默認修飾符為public,接口中定義的成員變量整個實現類都可以訪問,默認修飾符public static final;

5,實現類在實現接口時,如果該接口同時繼承了父類接口,也需要實現該父類接口中的方法;

6.接口中的方法如果沒有在實現類中全部實現,該類也要被聲明為抽象類,即普通類需要全部實現;

7.當實現類同時實現多個接口時,需要避免接口中方法重名的情況;

六.

package:包 ,用來解決類名重名的現象;

import:引用 不同的包中的類引用時需要使用;

七.權限修飾符

作用範圍如圖:

技術分享圖片

JAVA基礎8-面向對象3