Java程式設計思想學習筆記(七)

2021-09-12 23:12:27 字數 1059 閱讀 5920

復用:1.組合 2.繼承 3.**

組合:has-a

繼承:is-a

組合還是繼承乙個清晰的判斷方法:是否需要從新類向基類進行向上轉型

1. final +資料——final 「不會改變的」

(1)基本資料型別

final+基本資料型別=常量 定義時必須賦值或者在建構函式裡賦值(使用前總是被初始化)

static final+基本資料型別=編譯器常量 全部用大寫單詞間用_隔開

(2)引用(包括陣列,陣列也是乙個引用)

引用指向乙個物件後無法在改變它指向另乙個物件,但引用所指向物件的具體成員變數值是可以改變的。

private value v1=new value(11);

v1.i=13;//可以

v1=new value(13);//不可以

(3)引數

無法在方法中更改引數值和引數引用所指向物件

void f(final int i )//不能改變值

void g(final value v)//不能改變引用

2.final+方法——「不會被覆蓋」

子類在繼承父類時,final 的方法會被繼承下來,但是不能覆蓋。

final和private

class first

}class second extends first

}public class testfinal

}

繼承只是繼承介面,private只對自己可見(相當於是一段內部**),子類不繼承,所以更談不上覆蓋,因此f只是同名的函式而已。

3.final +類——「禁止繼承」

類被final 修飾後,類內的所有方法都被隱式的final,也可以在方法前加上final,但沒意義。

第一次建立類的物件或者呼叫靜態方法時,載入類;

初始化靜態成員(先基類再子類);

當建立物件時,先分配空間,初始化所有成員變數;

呼叫建構函式(先基類後子類)

《Java程式設計思想》學習筆記 介面

介面和內部類為我們提供一種將介面與實現分離的更加結構化發方法 將介面從具體的實現中解耦使得介面可以應用於多種不同的具體實現,因此 具有更好的復用性 工廠方法模式,不同的產品可以有不同的實現,不同的工廠可以生成不同的實際產品物件。這樣,產品物件和工廠之間達到了完全的分離解耦,我們可以任意的更換工廠,以...

java程式設計思想學習筆記 容器

陣列 儲存的基本資料型別 物件,但是陣列的尺寸恆定。容器 存放物件object,可自定義調整自己的尺寸 set中元素無序,但是不能有重複的元素 list必須按照插入的順序儲存元素,元素可重複 map存放成對的 鍵值對 物件 使用鍵來查詢值 collection介面是存放一組物件的方法 方法 在移除某...

Java程式設計思想學習筆記(7) 復用類

這章內容有點多,先上圖。以前沒有用過,有點類似組合,將原有的類置於新類中,同時會在新類中使用原有類的方法來實現新類的方法,如下 class a void b public class test void b public static void main string args 基類的靜態變數 匯出...