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