先來看乙個例子,假設我們現在有a類
b類繼承a類public class a
public string getname_1()
public void setname_1(string name)
}
執行結果如下public class b extends a
public void setname_2(string name)
public static void main(string args)
}
下面我們應該就能明白,子類(b)例項化的時候會有兩塊name資訊,一塊繼承自父類(a),乙個是其自身所擁有的,只不過在方法同名(getname)時優先選擇其自身的屬性,下圖詳細說明:
子類繼承父類的成員變數
1 子類可以繼承父類的成員變數 只能繼承public 和protected,不能private 2 子類拿到的父類的成員變數值是初始化的值。3 如下面classb繼承classa,只能拿到初始化的a的值。int classa a 0 int main class classa include std...
子類繼承父類的變數和父類原有變數的關係
做專案的時候錯認為在子類中修改從父類繼續下來的變數值,會影響到其他繼承該變數的子類,實際上不是的,每個繼承了這個變數的子類,相當於拷貝了乙份變數,對變數的修改影響也僅限於自身,不會影響到父類的變數值,更不會影響到其他子類對應的變數值。特意寫的demo驗證下 父類 public abstract cl...
父類子類定義相同的變數名
今天遇到了乙個很有意思的問題,父類和子類都定義了乙個同名變數,宣告乙個父類型別a指向子類例項時,a.變數 父類的值 public class father public father public class sonextends father override public intgeti pub...