1. 程式人生 > >Java聽課筆記——10.23

Java聽課筆記——10.23

1.類的封裝:等於是複習了上一節課的東西

修飾關鍵字有: private   protected public  ,預設

注意:預設的修飾符在同一包中可以訪問,不同包中不能訪問

類封裝的原則:(同C++):

變數為private型,方法(函式)和介面為public

連線上一節課的static,static修飾的方法和變數可以在沒有建立物件的情況下直接進行訪問

即:使用類名引用法進行訪問

static變數遊離在物件之外,只有一個副本,

一些工具類的定義多用static 比如math.abs();函式

注意:如果在非static方法中使用了外部定義的static變數,則錯誤是編譯失敗!

2. 繼承(也是上一節課講過的)

繼承的目的:程式碼的複用

一、方法的多型:

(1).過載:   同名不同參

(2).重寫overwrite (覆蓋):同參同返回值

父子類之間發生,子類中重寫父類中的函式可以進行覆蓋  

(3).若引數相同卻返回值不同:報錯!

(一樣則覆蓋,不一樣則過載,異同參半報錯!)

二、型別的多型:

(1).isA關係(即是關係)

(2)2.hasA關係(舉例:person物件包含生日(時間)物件)

三、編譯時多型

(1).編譯時多型:

(2).執行時多型:

子類物件即是父類,

父類物件引用子類:例:Animal animal = new Bird();

比如在呼叫物件的時候,取決於animal呼叫的方法是Animal還是Bird宣告的

3.抽象類

必須用abstract修飾;

本身不能被例項化物件,只能作為其它類的超類

抽象方法的定義規範,加分號。

定義的方法分為抽象方法(被抽象類實現的)和例項方法(未被實現的)

可以沒有抽象方法,但是構造方法不能是抽象方法

抽象類繼承: 必須給出抽象方法的實現,並且必須實現所有的。

抽象類的意義:給出一種約束規範

4.介面:

new右鍵新建interface

ava interface 類中所有的成員方法都是抽象的;

介面由實現該介面的類來提供方法的具體實現。

一個Java介面是由一組常量和抽象方法定義組成。

介面的定義:

介面中的方法可以不加abstract修飾,因為接口裡沒有抽象的概念 

 注意:介面中不可以有構造方法!!!!!!!

補充:類的重構:refactor ->rename