Java高級部分

1.經常使用API接口(類):導入,建立,使用java

Scanner類:主要接受來自鍵盤輸入的內容,也能夠是文件.用法:Scanner s1 = new Scanner(System.in);數組

Random類:主要建立隨機數。用法:Random r=  new Random();int num=(int) (Math.random()*10+1);安全

ArrayList<E>:建立一個不定長度的「數組」。多線程

String類:String是一個常量,一旦建立不可更改,只能從新建立新的String。併發

Arrays類:具備多個關於數組的靜態方法,主要經常使用方法:Arrays.toString ,Array.sort();框架

Math類:包含與數字運算有關的類。abs,ceil,floor,rounddom

 

2.面嚮對象語言的三大特性:繼承,封裝,多態this

封裝:體如今private關鍵字get,set存取和接口的不透明性spa

繼承:關鍵字extends ,this,super重寫,以及各個對象的訪問順序線程

多態:方法名相同,返回值或參數類型不一樣

對象的向上轉型:
格式:父類對象 對象名=new 子類名稱();
Animal animal= new Cat();

含義:右側建立一個子類對象,把它看成父類看待使用
注意事項:向上轉型必定是安全的。從小範圍轉向了大範圍。從小範圍的貓,向上轉換成爲更大範圍的動物

對象的向下轉型
格式:子類名稱 對象名=(子類名稱) 父類對象;
含義:將父類對象,【還原】成爲原本的子類對象
Animal animal=new Cat()
Cat cat=(Cat)animal;

 

3.抽象類

關鍵字abstract。

抽象方法:不具體實現細節。例子:public void eat();

抽象類:抽象方法存在的類,必須是抽象類。

注意:

1.不能直接建立new抽象類對象

2.抽象類中不必定包含抽象方法,抽象方法必定在抽象類中

3.必須用一個子類繼承抽象類,子類必須從新覆寫抽象類的全部抽象方法,不然編譯不經過,或者該子類也爲抽象類

 

4.接口

關鍵字:interface,implements

特色:1.多繼承 2.

成員:抽象方法(public abstract 方法)+常量(public static final 數據類型)

注意:變量均爲常量,變量必須賦值,一旦賦值,不可修改

 

使用步驟:

1.接口沒法直接使用,必須有實現類才能使用

2.接口的實現類必須覆寫全部接口中的全部方法

3.建立實現類的對象

 

Java新特性1——接口中的默認方法:解決接口升級問題

格式:public default 返回值類型 方法名稱(參數列表){}

1.接口中的默認方法使用實現類進行調用

2.接口中的默認方法能夠被覆蓋重寫

 

Java新特性2——接口中容許定義靜態方法

格式:public  static 返回值類型 方法名稱(參數列表){}

用法:只能經過接口.靜態方法調用,不能經過(實現類.接口靜態方法)進行調用

 

Java新特性3——接口中使用私有方法:只能在接口內使用

普通私有方法::解決接口中多個默認方法之間重複代碼問題

格式:private    返回值類型    方法名  (參數列表){}

靜態私有方法:解決接口中多個靜態方法之間重複代碼問題

格式:private   static  返回值類型    方法名  (參數列表){}

 

 

5.內部類(匿名內部類)

內部類格式
外部類名稱.內部類名稱 對象名=new 外部類名稱().new 內部類名稱();
匿名內部類格式:
接口名稱 對象名 =new 接口名稱(){};
注意事項:
1.匿名內部類,在建立對象的時候,就只惟一使用一次
2.匿名對象,在調用方法的時候,只能惟一使用一次
3.匿名內部類是省略實現類/子類名稱,可是匿名對象是省略了對象名稱

 

6.集合

集合框架包括:Collections,(List,ArrayList,LinkedList),(Set,HashSet,LinkHashSet),(Map,HashMap,LinkedHashMap)

集合祖父:Collection

經常使用方法:

1 public boolean add(E e):添加一個元素
2 public void clear():清空集合中全部的元素
3 public boolean remove(E e):移除集合中指定的元素
4 public boolean contains(E e):檢查集合中是否包含指定的對象
5 public boolean isEmpty():判斷集合是否爲空
6 public void size():判斷集合中元素的個數
7 public Object[] toArray():把集合元素存儲到數組中

迭代器Iterator使用

迭代器iterator的使用,來自java.util.iterator,做用是爲了各式各樣的集合,開發了一個統一的取出集合元素的接口,其主要有兩種經常使用使用方法
1 boolean hasNext():若是集合中還有下一個元素,就返回true,不然返回false
2 E next():取出集合中的下一個元素
使用迭代器須要使用Collection接口的iterator()方法,其返回的就是一個迭代器iterator實現類對象,有了實現類對象才能使用裏面的方法
使用迭代器的基本步驟:
1 先使用Collection集合的iterator()方法獲取iterator實現類對象,並使用一個iterator接口來接收,接口指向對象,爲多態的應用
2 使用迭代器的hasNext()方法判斷集合中還有沒有下一個元素
3 使用迭代器的next()方法取出集合中下一個元素

 

加強型for循環使用

加強型for循環的使用,Collection接口繼承父接口Iterable,這個父接口的做用就是容許對象成爲for-each循環的目標,加強型for循環的目的主要是遍歷集合或數組元素。
使用格式:
for(集合或數組數據類型 變量名:集合或數組名){
   方法體
 }

 

Collections類經常使用方法:addall(),sort(),shuffle(),

List接口:有序,可重複

Set接口:無需,惟一

Map接口<K,V >:key不可重複,value可重複

 

7.異常類:

Throwable:Error(不可處理,儘可能避免),Exception

    Exception:編譯期異常

            RuntimeException運行期異常中

異常處理關鍵字:try,catch,finally,throws,throw

配合:

1.修飾符 返回值 方法名() throws AAAExpections, BBBExpections{

  throw new AAAExpections(「產生緣由」);

}

 

2.try...catch ..finally

Try{}

Catch(定義一個異常變量,接受異常對象){}

Catch(異常類名 變量名){}

finally{}

自定義異常:

格式:public class xxxException extends Exception |  RuntimelyException{

       添加一個空參數的構造方法:

       添加一個帶異常信息的構造方法

}

 

 

8.線程類

併發:一個cpu來回切換進程

並行:多個cpu實例或者多臺機器同時執行,真正的同時

線程狀態:Running,dead,鎖定,wait()

機制:synchronized ,wait,notify

實現:基本線程類Thread,線程接口Runnable

高級多線程控制類:

ThreadLocal類

Lock類

 

 

 

最後(其餘零散的知識點):

1.static所修飾的內容,只會加載一次,而構造方法能夠加載屢次

2.匿名對象,只是用一次的對象,當下次使用時則須要從新建立

3.

 

 

 

未完待續。。。

相關文章
相關標籤/搜索