/*
抽象函式不能有實現體,抽象函式必須在抽象類裡面,但抽象類裡可以有非抽象函式,
抽象函式必須是public許可權,抽象類不能例項化,子類必須實現抽象類的所有抽象函
數,否則子類仍然是抽象類,子類不能繼承多個父類
*/abstract class animal
public void walk() }
class bird extends animal
public void fly()
}
/*
如果父類的乙個函式被子類覆蓋,而此函式在父類的建構函式裡使用了,在建立子類
物件時父類構造函式呼叫的是由子類覆蓋的函式,在c++中父類建構函式則會呼叫父
類的函式
*/class bird extends animal
public void sleep()
public void fly() }
class mockingbird extends bird
public void fly()
}
/*
介面的成員都是public許可權的,介面裡的資料成員一定是public static final型的,
乙個介面可以繼承多個介面,乙個類可以繼承乙個類、實現多個介面
*/inte***ce animal
inte***ce robot
abstract class life
class robotanimal extends life implements animal, robot
public void sleep()
public void work() }
inte***ce superrobot extends animal, robot
/*
final修飾的變數為常量,final修飾的函式不可以被覆蓋,final修飾的類不可以被
繼承*/
final class animal
}
/*
建立類物件時的初始化順序
1.靜態變數賦值初始化/靜態內部**塊
2.子類建構函式
3.父類建構函式
4.非靜態變數賦值初始休/非靜態內部**塊
5.子類建構函式體
*/
java學習筆記(十六)抽象類與介面
抽象類特點 a 抽象類和抽象方法必須用abstract關鍵字修飾 b 抽象類不一定有抽象方法,有抽象方法的類一定是抽象類 c 抽象類不能例項化 那麼,如果例項化並使用呢?按照多型的方式,由具體的子類例項化。其實這也是多型的一種,抽象類多型。d 抽象類的子類 要麼是抽象類 要麼重寫抽象類中的所有抽象方...
01 java學習筆記 介面與抽象類
這些是我自己的理解加上網上優秀的分享總結出來的。抽象類是用來捕捉子類的通用特性的 它不能被例項化,只能被用作子類的超類。抽象類是被用來建立繼承層級裡子類的模板。介面是抽象方法的集合。如果乙個類實現了某個介面,那麼它就繼承了這個介面的抽象方法。這就像契約模式,如果實現了這個介面,那麼就必須確保使用這些...
Java中類與類 類與介面 介面與介面的關係
繼承關係,只能單繼承,但是可以多層繼承。實現關係,可以單實現,也可以多實現,並且可以在繼承乙個類的同時實現多個介面。繼承關係,可以單繼承,也可以多繼承。附 舉例 介面成員特點 成員變數 只能是常量,並且是靜態的。預設修飾符 public static final 建議 自己手動給出。構造方法 介面沒...