抽象類
當我們建立乙個父類時,有時我們並不需要或不確定在父類中實現具體的方法,而只是在在父類中規定子類要實現的功能時可以將父類建立成抽象類,建立相應的抽象方法,讓子類繼承並實現該抽象方法。
抽象類的建立格式
public abstruct class myabstructclass()
抽象類的特點
抽象類是一種特殊的類他的內部可以包含抽象方法,抽象類不可以直接例項化物件(可以用匿名內部類的方式實現抽象類的例項化),但除此以外與普通類的功能是一樣的,也具有繼承和被繼承能力,可以有成員變數,可以有普通的方法被子類繼承,但抽象方法必須在抽象類中
繼承抽象父類的子類必須實現父類的所有抽象方法(重寫抽象方法時要去掉修飾符abstract),否則還子類還必須定義為抽象類
抽象方法不能與以下修飾符共存:
private:作為乙個抽象類必須要有子類繼承並實現其抽象方法,否則抽象類的存在就失去了意義,而private 修飾的方法和變數只有當前類可以訪問,其他類均不可訪問,抽象方法無法實現
final:final修飾的方法不允許被重寫,修飾的變數不允許被重新賦值與抽象方法必須在子類中重寫相違背;
static:static修飾的方法在物件建立之前就已經載入進方法區不用例項化即可以呼叫,與抽象方法的先在子類中實現後在由子類的物件呼叫相矛盾。
抽象類和抽象方法的繼承和呼叫
抽象類由於包含抽象方法且不能例項化物件,必須建立乙個子類對其進行繼承以實現其其抽象方法,然後在主方法中例項化子類物件,利用子類物件呼叫抽象類建立出的抽象方法
例如:
public abstract class staff
public abstract void work();
}class sonabstractclass extends staff
}class abstracttest
}
JAVA 封裝性 學習札記
1.封裝性定義 不是直接通過 物件.屬性 對屬性進行操作訪問,而是通過 物件.方法 來控制對屬性的操作訪問 2.實現封裝性則為將類的屬性私有化,通過 setter getter 來實現對物件的操作訪問 3.e。g。public class setgetting class setgetter pub...
java 個人札記
用於提交任務,executor將執行緒的建立與執行機制進行解偶 public inte ce executor我們定義乙個任務,然後自己建立執行緒去執行任務,這樣執行緒的建立就與任務執行產生了耦和。public class executortest static class myrunnable i...
Python學習札記
1 strip 去除字串中所有不想要的空白符,split 方法建立乙個列表。2 sorted bif支援複製排序。3 分片,列表推導 4 工廠函式去除掉裡列表中重複的項。5 定義乙個類時,實際上是在定義乙個定製工廠函式。6 使用dict 工廠函式或使用 可以建立乙個空字典。要訪問乙個person字典...