1.super關鍵字* 使用super關鍵字呼叫父類的成員變數和成員方法。具體格式:
super.成員變數
super.成員方法([引數1,引數2...])
* 使用super關鍵字呼叫父類的構造方法。具體格式:
super([引數1,引數2...])
* 通過super呼叫父類構造方法的**必須位於子類構造方法的第一行,並且只能出現一次。
* 子類的構造方法中一定會呼叫父類的某個構造方法。如果沒有指定呼叫父類的某個構造方法,在例項化子類物件時,會自動呼叫父類無參的構造方法。
2.final關鍵字
* final類 使用final來修飾的類叫作final類。final類通常功能是完整的,它們不能被繼承。
* final方法 方法不可以被子類的方法重。final方法比非final方法要快,因為在編譯的時候已經靜態繫結了,不需要在執行時再動態繫結。
* final變數 經常和static關鍵字一起使用,作為常量。final變數只能賦值一次,是唯讀的。
* final 修飾陣列或其他物件,則物件位址不可變,但內容還可變
3.抽象類
* 抽象方法 它只有宣告而沒有具體的實現。宣告格式為:abstract void fun();
* 抽象類 使用 abstract 關鍵字修飾的類為抽象類
--抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public
--抽象類不能用來建立物件
--抽象類同樣可以擁有成員變數和普通的成員方法
--繼承抽象類的子類,必須實現父類的抽象方法。如果子類沒有實現父類的抽象方法,則必須將子類也定義為為abstract類
4.介面
*介面中的變數會被隱式地指定為public static final變數,並且只能是public static final變數
*介面中的方法會被隱式地指定為public abstract方法,並且只能是public abstract方法
*非抽象類遵循了某個介面,就必須實現該介面中的所有方法。對於遵循某個介面的抽象類,可以不實現該介面中的抽象方法
5.抽象類與介面區別
* *
6.多型
* 在同乙個方法中,由於引數型別的不同而導致執行效果各異的現象就是多型
* 使用乙個父類型別的變數來引用乙個子類型別的物件,根據被引用子類物件的不同,得到不同的效果。例如:
//定義介面 animal
inte***ce animal
//定義 cat 類 實現animal介面
class cat implement animal
}//定義 dog 類實現animal介面
class dog implement animal
}
//定義測試類
public class exampletest()
//定義靜態的animalshout()方法,接收乙個animal型別引數
public static void animalshout(animal an)
}
* 將子類物件當作父類使用時不需要任何顯示地宣告,但不能通過父類變數去呼叫子類中的某些方法(子類中存在,父類中不存在的方法)。
//定義介面 animal
inte***ce animal
//定義 cat 類 實現animal介面
class cat implement animal
//定義sleep()方法
public void sleep()
}//定義測試類
public class exampletest()
//定義靜態的animalshout()方法,接收乙個animal型別引數
public static void animalshout(animal an)
}
--當編譯器檢查到**an.sleep()時,發現animal類中沒有定義sleep()方法而報錯。由於傳入的物件是cat型別,在cat類中定義了sleep()方法,通過cat型別的物件呼叫sleep()方法是可行的,
因此可以在animalshout()方法中將 animal型別的變數強轉為cat型別。**具體修改為:
//定義靜態的animalshout()方法,接收乙個animal型別引數
public static void animalshout(animal an)
初識java(3)異常
throws e1,e2,e3只是告訴程式這個方法可能會丟擲這些異常,方法的呼叫者可能要處理這些異常,而這些異常e1,e2,e3可能是該函式體產生的。throw則是明確了這個地方要丟擲這個異常。throw語句用在方法體內,表示丟擲異常,由方法體內的語句處理。throws語句用在方法宣告後面,表示再丟...
java 3種簡單的排序
1.氣泡排序 public class testsort bubblesort a 靜態方法中直接通過類名呼叫靜態方法,或者通過物件去呼叫非靜態的方法 for int i 0 i i j insertsort array for int i 0 i 1 a j 1 tmp a j tmp 每乙個a ...
開始學習java3 輸入輸出流
inputstrem outputstem 結尾的流類 一次檢查1個位元組。read wridt 結尾的流類 一次檢查2個位元組 即乙個字元。流在輸入輸出結束之後 利用close 的方法結束流的傳輸。system.exit 1 退出程式。public class hello a.close c.cl...