1. 程式人生 > >java SE學習過程中的知識點小結(一)(很多內容過於基礎,希望能幫助到學習路上的同學)————歡迎老手批評指正

java SE學習過程中的知識點小結(一)(很多內容過於基礎,希望能幫助到學習路上的同學)————歡迎老手批評指正

①、把boolean測試放在括號內:例如while(x==4){}  //當然看過很多部落格,裡面有工作經驗的工作者說以後公司可能習慣性寫(4==x)

②、所有java程式都定義在類中(也是區別於C++的主要特徵)

③、物件本身已知到的事物稱為例項變數,它代表物件的狀態,物件可執行的動作稱為方法。

④、類可以繼承自較為抽象的父類,建立類時可能同時會需要建立獨立的測試用的類。

⑤、傳入與傳出方法的值型別可以隱含的放大或是明確的縮小。

⑥、如果要知道語句執行多少次,應該選擇使用for 迴圈而不是while 迴圈。

⑦、 使用Interger.parseInt()來取得String的整數值。

⑧、Interger.parseInt()只會在所給的String為數字時才有作用。

⑨、for迴圈的另一個用法 :for(type a: b){}    其中a為與b 陣列型別一致的迴圈變數,該迴圈的意思是將b陣列中的每一個元素分別賦給a,賦一次執行一次迴圈體。

⑩、ArrayList 容器的常用方法:

(1) add(object elem) :向list 中加入物件引數

(2) remove(int index/object elem):在list 中移除索引引數中的物件或直接移除物件

(3) contains(object elem):檢查是否包含物件, 如果和物件引數匹配返回“true”;

(4) isEmpty(): 如果list中沒有元素返回“true”

  (5)   index Of(object elem) :返回物件的索引或-1

(6)size(): 返回list中元素的個數

(7)get(int index): 返回當前索引引數的物件

⑪、繼承下來的方法可以被覆蓋掉,但是例項變數不能被覆蓋掉。

⑫、當某個方法在子類中被覆蓋過,呼叫這個方法時會呼叫到覆蓋後的版本

⑬、除了內部類外,並沒有私有類這樣的概念,但是有三種方法可以防止某個類被做出子類

(1) 存取控制,就算類不能被標記為私有,但它還是可以不標記公有,非公有類只能被同一個包的類做出子類。

(2)使用final這個修飾符,這表示它是繼承樹的末端,不能被繼承。

(3)是讓類只擁有private的構造方法。

⑭、方法也可以final,以防止被覆蓋

⑮、 過載的方法和覆蓋方法不一樣:

過載方法只是剛好名字和原方法相同,返回型別可以不同,但是不能只改變返回型別

覆蓋方法,引數必須要一樣且返回型別必須要相容。

⑯、為了防止某個類被初始化(例如Animal的物件不知道是什麼樣子)可以設定抽象類,即在類的宣告前加上關鍵詞abstract 這樣這個類不能被“new”出來。

⑰、抽象方法代表此方法一定要被覆蓋,且 沒有方法體,不能在非抽象的類中擁有抽象方法

⑱、在java 中所有類都是從object 這個類繼承出來的,沒有直接繼承過其他類的類會是隱含的繼承物件。

⑲、類物件的一部分方法:

(1) equals(Object o) 比較樑哥物件是否“相等”。

(2) hashCode() 列出此物件的雜湊程式碼。

(3)getclass() 返回物件被初始化的類名。

(4) toString() 列出類的名稱和一個不用關心的數字。

⑳、當把物件裝進ArrayList<Object>時,不管他原來是什麼,從中取出引用時,引用的型別只會是object 所以當採用該種方法的時候需要進行型別還原。

例如:

ArrayList<object> mydoglist=new ArrayList<object>();

Dog adog=new Dog();

mydoglist.add(adog);

//要想取出adog 需要進行以下操作

Dog dog=(Dog) mydoglist.get(0);

//如果不確定轉換的物件是否轉換錯了,可以用 instanceof 這個運算子,如果遇到異常會終止

例如:

if(mydoglist.get(0) instanceof Dog){

Dog dog= (Dog) mydoglist.get(0);

}

      //以上為本次部落格的全部內容,內容屬於基礎知識,知識難度會隨著部落格的更新不斷加深~~~~~~~~