java基礎回顧2

一: int i=1;int j=i++;j=1

     j=++i;j=2

二:instanceof 二元操作符,判斷左邊對象是否是它右邊類的實例,返回boolean類型

如String s=“123”;boolean is= s instanceof Object,返回true

三:final變量是在聲明時爲一個空白,一旦賦值在其生命週期中是不會被修改

final類,該類不能被繼承,一個final類中的所有方法都默認爲final。因爲此時再也無法覆蓋它們。

四:String的轉換

character integer float double boolean short的toString方法使他們轉換爲String

int先要轉換爲integer對象後才能使用toString方法,

int i=4;integer I1=new Interger(i1);String si1=I1.toString();

string轉換爲其他類型數據,parseInt(String s),parseLong(String s)等等

五:異常throws總是出現在一個函數頭中,用來標明該成員函數可能拋出的各種異常

throw總是出現在函數體重,用來拋出一個異常

在不顯示聲明拋出異常,默認情況下,都是可以拋出runtimeException的

六:java面向對象的精髓

抽象:抽象就是忽略一個主題中與當前目標無關的方面,而將目標的某個特性進行提煉。

繼承:新類可以從現有的類中派生,這個過程稱爲類繼承,新類繼承了原類的特性,繼承了基類的方法和實例變量,並且可以修改或增加新的方法適合自己的需要。

封裝:封裝把過程和數據包圍起來,對數據的訪問只能通過調用以定義的接口。

多態:允許不同類的對象對同一個消息作出響應,很好地解決了函數同名問題。

同一實現接口可以用不同的實例而執行不同的操作。通過重寫父類的方法來實現。

七:面向對象的設計原則

開閉原則,對擴展開放,對修改關閉

依賴倒轉原則:要依賴於抽象,不要信賴於實現

里氏代換原則:任何基類可以出現的地方,子類一定可以出現

合成/聚合複用原則:在一個新的對象裏面使用一些已有的對象,使之成爲新對象的一部分。

高內聚低耦合

接口隔離原則:

八:方法可以重載多次,而子類覆蓋只能有一次

方法重載:同一個類中的兩個或者兩個以上的方法可以有同一個名字,只要他們的參數聲明不同(參數類型或參數的數量)即可,overload,是實現多態的一種方式

在找不到精確匹配的方法是,java會自動轉換參數類型

方法覆蓋:子類中定義的一個方法,其名稱、返回類型以及參數正好與父類中的相同,那就是說子類的方法覆蓋了父類的方法

注意:

方法名稱、返回類型、參數都必須相同

子類方法不能縮小父類方法的訪問權限

子類方法不能拋出比父類方法更多的異常

方法覆蓋只存在於子類和父類之間,同一類中的方法只能重載不能覆蓋

父類的靜態方法不能被子類覆蓋爲非靜態方法

子類可以定義與父類的靜態方法同名的靜態方法,以便在子類中隱藏父類的靜態方法

父類的非靜態方法不能被子類覆蓋爲靜態方法

父類的私有方法(private)不能被子類覆蓋

父類的抽象方法可以被子類通過兩種途徑覆蓋:子類實現父類的抽象方法,子類重新聲明父類的抽象方法

父類的非抽象方法可以被覆蓋爲抽象方法

九:構造函數

 每創建一個類的實例都去初始化它的所有變量是乏味的。如果一個對象在被創建時就完成了所有的初始工作,將是簡單的和簡潔的。因此,Java在類裏提供了一個特殊的成員函數,叫做構造函數(Constructor)。 
一個構造函數是對象被創建時初始對象的成員函數。它具有和它所在的類完全一樣的名字。一旦定義好一個構造函數,創建對象時就會自動調用它。構造函數沒有返回類型,即使是void類型也沒有。這是因爲一個類的構造函數的返回值的類型就是這個類本身。構造函數的任務是初始化一個對象的內部狀態,所以用new操作符創建一個實例後,立刻就會得到一個清楚、可用的對象。 

構造方法是一種特殊的方法,具有以下特點。 
(1)構造方法的方法名必須與類名相同。 
(2)構造方法沒有返回類型,也不能定義爲void,在方法名前面不聲明方法類型。 
(3)構造方法的主要作用是完成對象的初始化工作,它能夠把定義對象時的參數傳給對象的域。 
(4)構造方法不能由編程人員調用,而要系統調用。 
(5)一個類可以定義多個構造方法,如果在定義類時沒有定義構造方法,則編譯系統會自動插入一個無參數的默認構造器,這個構造器不執行任何代碼。 
(6)構造方法可以重載,以參數的個數,類型,或排列順序區分。

java 構造函數的執行過程

類初始化時構造函數調用順序:
  (1)初始化對象的存儲空間爲零或null值;
  (2)調用父類構造函數;
  (3)按順序分別調用類成員變量和實例成員變量的初始化表達式;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章