1.繼承并不只是擴展父類的功能,還可以重寫父類的成員方法景鼠,重寫(覆蓋)就是在子類中將父類的方法名保留蕾哟,重寫成員方法的實現(xiàn)內(nèi)容,更改成員方法的存儲權(quán)限莲蜘,或是修改成員方法的返回值類型。(特殊的重寫)重構(gòu):子類與父類的成員方法返回值帘营,方法名稱票渠,參數(shù)類型及個數(shù)完全相同。唯一不同的是實現(xiàn)內(nèi)容芬迄。注:重寫父類方法问顷,修改方法的權(quán)限時只能從小的范圍向大的范圍改變。方法的重載:就是在同一個類中允許同事存在多個同名方法的參數(shù)個數(shù)或類型順序不同即可。
2.Object 類 :
是所有類的父類杜窄,Java層中最高層肠骆,所有類都繼承Object類,只是被默認不寫塞耕,除非指定了要從其他類繼承蚀腿。
Object 重要的方法 :
①、getClass()方法扫外,返回對象執(zhí)行時的class對象莉钙,然后使用此實例調(diào)用getName( ) 方法可以取得類的名稱。getClass().getName.
②筛谚、toString( )方法:對象返回字符串形式磁玉,在實際應(yīng)用中通常重寫toString (),為對象提供一個特定的輸出模式驾讲。當這個類轉(zhuǎn)化為字符串或字符串連接時蚊伞,將自動調(diào)用重寫的toString()方法(檔自動調(diào)用父類時)。
③吮铭、equals ( ) 方法 ?:
3.對象類型的轉(zhuǎn)換:
子類的對象視為父類的對象:“向上轉(zhuǎn)型”时迫。
將較抽象的類轉(zhuǎn)換為較具體的類:向下轉(zhuǎn)型。會報錯沐兵,需要將父類對象轉(zhuǎn)化為子類對象稱為:顯性類型轉(zhuǎn)換别垮;( 子類 ?子類對象 = (子類類名) 父類對象;)
4.抽象類:
abstract 定義抽象類的關(guān)鍵字扎谎。抽象方法必須被重寫才有意義碳想,只要類中有一個抽象方法,此類就為抽象類毁靶。抽象類除了被繼承沒有其他的意義胧奔。抽象被繼承后,需要實現(xiàn)其中所有的抽象方法预吆。保證相同的方法名龙填,返回值類型,參數(shù)列表創(chuàng)建抽象方法或者非抽象拐叉。
修飾符 + abstract +class +類名(){ }
5.接口:
什么是接口:Java接口是一系列方法的聲明岩遗,是一些方法特征的集合,一個接口只有方法的特征沒有方法的實現(xiàn)凤瘦,因此這些方法可以在不同的地方被不同的類實現(xiàn)宿礁,而這些實現(xiàn)可以具有不同的行為(功能)。//兩種含義:一蔬芥,Java接口梆靖,Java語言中存在的結(jié)構(gòu)控汉,有特定的語法和結(jié)構(gòu); 二,一個類所具有的方法的特征集合返吻,是一種邏輯上的抽象姑子。前者叫做"Java接口",后者叫做"接口"测僵。
public interface 接口名{ ?void draw(); ?}
public class 子類 extends 父類implements 接口名{ ?} ? //接口中的方法必須被定義為public 或者abstract 形式街佑。默認是public.
在接口中定義的任何字段都被自動是 final 和 static。