1. 程式人生 > >基礎知識鞏固三

基礎知識鞏固三

常量 函數 基礎知識 默認方法 數組 log 可變 系統性能 bst

抽象類和接口:

  • 抽象類的構造方法定義為protected,因為它只被子類使用
  • 關註點:1、抽象方法不能包含在非抽象類中
  • 2、抽象類不能使用new操作符來初始化創建實例對象,但當作為一種數據類型,可以創建一個元素是抽象類型的數組,
  • 例如:Abstrac a = new Abstrac[10]
  • 3、包含抽象對象的類必須是抽象的
  • 4、子類的父類是具體的,這個子類也可以是抽象的
  • 5、子類可以覆蓋父類的方法並將它定義為abstract

日歷類:Calendar 它的子類公歷類:GreGorianCalendar()

1 Calendar  c = new GregorianCalendar();
2 
3 c.get(Calendar.Year);//獲取年份

1.8之前接口中只包含常量(public final static)和抽象方法(public abstract),1.8之後,接口變得更加靈活,可以有靜態方法(static)和默認方法(default),方法前必須寫關鍵詞static/default

Comparable接口:可比較 其中的方法只有compareTo(Object o)

Cloneable接口是一個特殊請款(zai java.lang包中),這個接口是空的,成為標記接口,表示一個類擁有的某些特定的屬性

  • 註:自己定義一個雷來實現Cloneable接口,必須覆蓋Object中的clone()方法,否則會拋出CloneNotSupportedException異常

抽象類和接口的區別

區別 變量 構造方法 方法

抽象類 無限制 有,不能使用new實例化 無限制

接口 必須是常量 無,不能用new實例化 抽象方法必須是公共的實例方法,還可以包含靜態方法和默認方法

native是一個計算機函數,一個Native Method就是一個Java調用非java代碼的接口。

包裝類:

  • 包裝類沒有無參構造方法,所有包裝類的實例都是不可變的,這意味它們的內部值就不能再改變
  • 每個數值包裝類都有常量MAX_VALUE和MIN_VALUE
  • Double.valueOf("12.4"):12.4(double)
  • Integer.valueOf("12"): 12(int)
  • valueOf和parseDouble方法區別在於,valueOf函數內部就調用了parseDouble方法,只不過它還有個自動裝箱開箱的過程,這會增加系統性能的損耗,一般使用parseDouble
  • 每個數值包裝類都有兩個重載的方法,將數值字符串轉換為正確的以十進制為基數的數值
  • 例如:
  1. Integer.parseInt("11",2):3
  2. Integer.parseInt("12",8):10
  3. Integer.parseInt("13",10):13
  4. Integer.parseInt("1A",16):26
  • 註意Integer.parseInt("12",2)會報錯,12不是二進制數

基礎知識鞏固三