1.定義
重載:主要發生在同一個類中的兩個同名函數之間或者具有繼承關系的父類和子類中具有同名函數之間,由于函數形參類型不同或者形參個數不同産生重載。
重寫(覆寫):發生在父類和子類同名函數之間,子類使用父類的同名函數,隻是修改了函數體中的内容。若想在子類的重寫函數體中調用父類的該方法,則使用super.方法()。
2.類型轉換
1)基本類型轉換:該轉換隻能在數值類型之間進行,即整數型、字元型和浮點型,但數值類型和布爾類型之間不能進行類型轉換。
2)引用類型轉換:該轉換隻能在具有繼承關系的兩個類型之間進行,如果兩個沒有任何繼承關系的類型,則無法進行類型轉換。
如果試圖把一個父類執行個體轉為子類執行個體,則這個對象必須實際上是子類執行個體才行(即使用了多态先轉為父類,否則不能轉為子類)。
例:
double d=3.14;
long l=(long)d;
Object obj="Hello";
String objStr=(String)obj;//可進行轉換
Object objInt=new Integer(5);
String str=(String)objInt;//無繼承關系,不能轉換,将抛出ClassCastException異常
一般在使用之前先使用instanceof進行判斷能不能轉換,如
if(objInt instanceof String)
{
String str=(String)objInt;
}