上學期在書上忘記整理的筆記。可能有些點是當時從網上找來的。不完全原創。
1. Static 方法
(1) 僅能調用其他的static類型的方法
(2) 隻能通路static類型的資料
(3) 不能以任何方法引用this 或 super
(4) Static的方法和變量能獨立于任何對象而被使用
2. Constructors
(1) Cannot be inherited
(2) Cannot have a return type
(3) The invoking chain of constructors
3. 構造函數的繼承
(1) 無定義構造函數時,系統自動補充。 //子類可預設調用。
(2) 有定義帶參數的構造函數時,系統不補充無參數的構造函數。//這時子類不能調用父類的無參數構造函數。必須顯式的調用父類帶參數的構造函數。
4. InterfaceVS Abstract Class
(1) AC(抽象類)表示一種繼承關系,一個類隻能使用一次繼承,但一個類能實作多個接口。
(2) AC可以有自己的資料成員,也可有非abstract方法,而interface,隻能有static final 的資料成員,并且所有方法都是abstract的。
(3) AC表示“is-a”的關系。Interface表示“like-a”的關系。
(4) AC中的變量預設是friendly 類型,其值可在子類中重定義,克重新指派。
(5) Interface中的方法預設都是public abstract 類型。
(6) AC有構造器,Interface沒有。
(7) Interface不能有body(方法體),連括号都不能有。
5. String.subString(startindex, endindex)
傳回的子串包含startindex,不包含endindex。
String str=“Hello World”;str.subString(2,7);//傳回值為”llo W”
6. Scanner P310
(1) 基于正規表達式的檔案掃描器//吐槽一句,竟然正則到現在都不會用,真是渣
(2) hasNextXXX()、NextXXX()。String時XXX可省略
(3) 預設使用空白作為分隔符,useDelimiter()修改分隔符
(4) 隻能讀取,不能寫入
7. Runnable-run()
(1) 生成自己的類對象
(2) 從系統那裡得到Thread
(3) Thread調用類對象,使其start
Test t= new Test();
Thread thread=new Thread(a);
Thread.start();
8. Comparable–compareTo(Object o)
Comparator –compare(Object o1,Object o2)
(1) 一個類實作了Comparable 接口則表明這個類的對象之間是可以互相比較的,這個類對象組成的集合就可以直接使用sort方法排序。
(2) Comparator在以下兩種情況下使用:
1) 類的設計師沒有考慮比較問題而沒有實作Comparable,可以通過Comparator在類外部實作。
2) 可以使用多種排序标準(升序/降序)。
Array.sort(users, newUserComparator() );
9. Cloneable–clone()
Public Object clone() throwsCloneNotSupportedException{
return super.clone();
}
(1) Java将clone() 的通路級别設定為protected,以限制外部類通路。
(2) Cloneable接口是一個空的接口,沒有聲明任何屬性和方法,該接口隻是告訴JVM,該接口的實作類需要開放“克隆”功能。