8.2 繼承(inheritance):
繼承是指在類之間共享屬性和方法。繼承關(guān)系是一種層次關(guān)系。在繼承關(guān)系中位于頂部的類稱為超類(或基類),位于下面的類稱為子類(或派生類)。
類型轉(zhuǎn)換(type casting):是強制一個數(shù)據(jù)從一種類型轉(zhuǎn)換為另一種類型。方法是通過在待轉(zhuǎn)換的數(shù)據(jù)前加一對含有新類型名稱的括號實現(xiàn)。
8.4 方法重寫(method overriding)
多態(tài)性的實現(xiàn):方法重載和方法重寫。
方法重載指同一類中可以存在具有相同名稱的不同方法,通過它們的參數(shù)列表加以區(qū)分。
方法重寫指超類中的方法,可以在子類中重寫。
不同的方法:在方法重載中通過不同的參數(shù)列表相互區(qū)分,在方法重寫中通過隸屬的對象的不同相互區(qū)分。
8.5 abstract
抽象類(abstract class):不可以創(chuàng)建其對象,僅能作為創(chuàng)建其他類的基類。
抽象方法(abstract method):強制所有的子類必須實現(xiàn)該方法。
注:如果子類聲明成abstract class,那么從超類繼承來的abstract method也可以不實現(xiàn)。
8.6 final
(final class):該類不能被繼承。
(final method):該方法不能被重寫。
注:(final variable):就是常量,與面向?qū)ο鬅o關(guān)。
8.8 包裝類和autoboxing
對于每個基本類型,Java都有一個對應(yīng)的類,這個類將數(shù)據(jù)類型包裝其中,稱為包裝類。
自測題:
1。解釋什么是繼承?
繼承是指在類之間共享屬性和方法。繼承關(guān)系是一種層次關(guān)系,也被稱為a-kind-of關(guān)系。
2。在UML類圖中如何描述繼承關(guān)系?
用空心的三角形表示繼承關(guān)系,三角形的尖指的是基類。
3。在Java中,使用哪個關(guān)鍵字聲明一個類是另一個類的子類?
class 子類 extends 基類,用extends關(guān)鍵字代表繼承關(guān)系。
4。區(qū)分方法重寫和方法重載的不同。
多態(tài)性的實現(xiàn):方法重載和方法重寫。
方法重載指同一類中可以存在具有相同名稱的不同方法,通過它們的參數(shù)列表加以區(qū)分。
方法重寫指超類中的方法,可以在子類中重寫。
不同的方法的相互區(qū)分:在方法重載中通過不同的參數(shù)列表相互區(qū)分,在方法重寫中通過隸屬的對象的不同相互區(qū)分。
5。解釋什么是類型轉(zhuǎn)換,并描述Java中類型轉(zhuǎn)換是如何實現(xiàn)的。
強制類型轉(zhuǎn)換(typecast):強制一個數(shù)據(jù)從一種數(shù)據(jù)類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。
通過在待轉(zhuǎn)換的數(shù)據(jù)前加一對含有新類型名稱的括號實現(xiàn)。
6。解釋abstract和final修飾符分別應(yīng)用于類和方法時的作用。
abstract class表示這個類為抽象類,不能創(chuàng)建對象,只能作為其他類的基類。
abstract method表示這個方法是抽象方法,沒有實現(xiàn),子類如果要實例化,必須重寫這個方法。
final class表示這個類為最終類,不能被繼承。
final method表示這個方法是最終的方法,子類不能重寫。
編程練習(xí):代碼附件
1. ExtendedOblong.java ExtendedOblongTester.java
2. Vehicle.java SecondHandVehicle.java