類的繼承 關鍵字extends
Java的類有一個直接或者間接的父類 Java.lang.object
Java的繼承具有單繼承的特點,每個子類只有一個直接父類。
方法的重載:在一個類中用相同的方法名字定義多個方法,每個方法應該有不同的代碼,實現不同的功能
要求:參數個數、參數類型、參數的排列順序 不同
參數的返回類型不構成重載
方法的重寫:子類中使用與父類同名的方法且參數個數、參數類型、參數的排列順序、參數的返回類型完全一樣
重寫 又稱超越或隱藏
重寫方法時,訪問控制權限不能低於父類中方法的訪問控制權限
super.方法名(); super.成員變量名;
抽象類和抽象方法 abstract
抽象類:只能被繼承,不能生成具體對象(不能實例化)
包含抽象方法的類叫做抽象類,一個抽象類中可以有一個或多個抽象方法,也可以沒有抽象方法
只要有一個方法是抽象的,則這個類一定是抽象類 抽象方法只能存在於抽象類中
抽象類只能作爲父類使用,由它派生的子類必須實現所有的抽象方法,才能創建對象。
一個抽象方法僅僅是爲所有子類定義一個統一的接口,具體的代碼通過派生類中對抽象方法的覆蓋來實現
抽象方法只有聲明,沒有方法體,以分號;結尾
final 修飾符
終極類:不能被繼承 如 有關網絡的 InterAddress類,Socket類,有關標準的輸入輸出操作的System類
終極方法:不能被子類重寫的方法
終極變量:取值不能改變,也就是一個常量,常與static一起使用
類成員(用static修飾的變量和方法) 即靜態變量 靜態方法 通過類名即可引用
類的實例方法:類加載到內存時,不分配入口地址,創建對象後,分配入口地址
類方法:類加載到內存時,分配入口地址 不能使用this super關鍵字
接口 interface 用於實現類間多重繼承功能的結構 extends 父接口名列表1,父接口名列表2 對接口功能的繼承稱爲“實現”
接口:一種特殊的抽象類, 接口中的方法都是抽象方法,抽象方法在實現類中必須全部實現,否者要將實現類定義爲抽象類
接口中沒有可以變動的數據成員(變量),只能有final 類型的數據成員(常量) 接口基本數據類型爲static而抽象類不是
接口的實現:implement 降低了耦合度
接口和實現類的關係是繼承關係,一個類可以實現多個接口,從而實現多繼承
import 發生在編譯期 相當於備案,不會影響效率
import 包名.* 加載包中所有的類,不會影響效率