標籤:實參 參數 output 形式 效率 一個 NPU 注意 變數
java 複習總結命名方法
建立檔案的名稱應該和類的名稱一致,不然會報錯。
類採用首字母大寫的方式來命名,如果是多個單詞的類名,則每個單詞首字母都大寫,例如:HelloWorld 。
方法採用駝峰命名法,即第二個字母開頭大寫。
通常,一個公司使用它互連網網域名稱的顛倒形式來作為它的包名。
抽象類別總結規定
- 抽象類別不能被執行個體化(初學者很容易犯的錯),如果被執行個體化,就會報錯,編譯無法通過。只有抽象類別的非抽象子類可以建立對象。
- 抽象類別中不一定包含抽象方法,但是有抽象方法的類必定是抽象類別。
- 抽象類別中的抽象方法只是聲明,不包含方法體,就是不給出方法的具體實現也就是方法的具體功能。
- 構造方法,類方法(用static修飾的方法)不能聲明為抽象方法。
- 抽象類別的子類必須給出抽象類別中的抽象方法的具體實現,除非該子類也是抽象類別。
採用 this 關鍵字是為瞭解決執行個體變數(private String name)和局部變數(setName(String name)中的name變數)之間發生的同名的衝突。
任何要訪問類中私人成員變數的類都要通過這些getter和setter方法。
介面無法被執行個體化,但是可以被實現。一個實現介面的類,必須實現介面內所描述的所有方法,否則就必須聲明為抽象類別。
介面有以下特性
- 介面是隱式抽象的,當聲明一個介面的時候,不必使用abstract關鍵字。
- 介面中每一個方法也是隱式抽象的,聲明時同樣不需要abstract關鍵字。
- 介面中的方法都是公有的。
介面與類的區別
- 介面不能用於執行個體化對象。
- 介面沒有構造方法。
- 介面中所有的方法必須是抽象方法。
- 介面不能包含成員變數,除了 static 和 final 變數。
- 介面不是被類繼承了,而是要被類實現。
- 介面支援多繼承。
介面的實現
- 當類實現介面的時候,類要實現介面中所有的方法。否則,類必須聲明為抽象的類。
- 類使用implements關鍵字實現介面。在類聲明中,Implements關鍵字放在class聲明後面。
Set和List的區別
- Set 介面執行個體儲存的是無序的,不重複的資料。List 介面執行個體儲存的是有序的,可以重複的元素。
- Set檢索效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變 <實作類別有HashSet,TreeSet>。
- List和數組類似,可以動態增長,根據實際儲存的資料的長度自動成長List的長度。尋找元素效率高,插入刪除效率低,因為會引起其他元素位置改變 <實作類別有ArrayList,LinkedList,Vector> 。
泛型方法
所有泛型方法聲明都有一個型別參數聲明部分(由角括弧分隔),該型別參數聲明部分在方法傳回型別之前。
每一個型別參數聲明部分包含一個或多個型別參數,參數間用逗號隔開。一個泛型參數,也被稱為一個類型變數,是用於指定一個泛型型別名稱的標識符。
泛型方法體的聲明和其他方法一樣。注意型別參數只能代表引用型類型,不能是原始類型(像int,double,char的等)。
類型萬用字元
類型萬用字元一般是使用?代替具體的型別參數。例如 List<?> 在邏輯上是List<String>,List<Integer> 等所有List<具體類型實參>的父類。
類型萬用字元上限通過形如List來定義,如此定義就是萬用字元泛型值接受Number及其下層子類類型。
類型萬用字元下限通過形如 List<? super Number>來定義,表示類型只能接受Number及其三層父類類型,如Objec類型的執行個體。
Java 序列化
類 ObjectInputStream 和 ObjectOutputStream 是高層次的資料流,它們包含還原序列化和序列化對象的方法。
java 複習總結