1.方法重寫要注意的事項:
方法重寫是發生在子父類之間的關係。
子類方法覆蓋父類方法,必須要保證許可權大於等於父類許可權。
子類方法覆蓋父類方法,返回值型別、函式名和引數列表都要一模一樣。
2.繼承後構造器的特點:
子類構造器執行的時候,都會在第一行預設先呼叫父類無引數構造器一次。
子類構造器的第一行都隱含了乙個super()去呼叫父類無引數構造器,super()可以省略不寫。
3.super和this用法格式:
this.成員變數 – 本類的
super.成員變數 – 父類的
this.成員方法名() – 本類的
super.成員方法名() – 父類的
super(…) – 呼叫父類的構造器,根據引數匹配確認
this(…) – 呼叫本類的其他構造器,根據引數匹配確認
注意:子類的每個構造方法中均有預設的super(),呼叫父類的空參構造.
手動呼叫父類構造會覆蓋預設的super()。
super() 和 this() 都必須是在構造方法的第一行,所以不能同時出現。
super(…)是根據引數去確定呼叫父類哪個構造器的。
4.抽象(abstract)
abstract是抽象的意思,用於修飾方法方法和類,修飾的方法是抽象方法,修飾的類是抽象類。
定義格式:
修飾符 abstract 返回值型別 方法名(引數列表);
注意:如果乙個類包含抽象方法,那麼該類必須是抽象類。注意:抽象類不一定有抽象方法,但是有抽象方法的類必須定
義成抽象類。
注:抽象方法不能建立鍵物件,但是具有抽象方法
抽象模板案例:
測試類:
package abstracttest05;
public class demo
}父類:
package abstracttest05;
public abstract class person
public person()
public string getid()
public void setid(string id)
public string getname()
public void setname(string name)
public int getage()
public void setage(int age)
//建立抽象方法
public abstract void man();}
兩個子類:
package abstracttest05;
public class yuan extends person
public yuan()
@override
public void man()
}package abstracttest05;
public class jnl extends person
public jnl()
@override
public void man()
}
繼承 介面 抽象
繼承是物件導向最顯著的乙個特性。繼承是從已有的類中派生出新的類,新的類能吸收已有類的資料屬性和行為,並能擴充套件新的能力 抽象方法是一種特殊的方法 它只有宣告,而沒有具體的實現 介面泛指供別人呼叫的方法或者函式 抽象類與介面的方法 1 抽象類可以提供成員方法的實現細節,而介面中只能存在public ...
抽象和繼承
抽象應該盡可能有多的共同 而擁有盡可能少的資料,乙個物件從超類繼承來的 在不使用的時候不會造成資源浪費,而資料的移動是從抽象到具體,乙個物件的資料不論是否使用都會占用資源。繼承關係分為 類對介面的實現和類對類的繼承,只要有可能盡量使用合成,而不要使用繼承達到復用的目的 使用繼承關係 1 子類是超類的...
繼承 抽象 多型
繼承 在php中,使用extends實現繼承,子類 派生類 繼承父類 基類 繼承是為了擺脫重複 繼承 析構方法 子類繼承父類時,子類沒有構造方法,例項化子類物件時,會執行父類的構造方法。子類如果有自己的構造方法,例項化子類物件時,只會自動執行子類自己的構造方法。在子類的構造方法中,使用 parent...