作者:
awpadam (adam!)
2020-08-05 13:21:00版友好
我是java新人,想請版友幫忙釐清一個觀念
下面有個father類別
有一個私有成員和一個公開方法
此公開方法會使用到這個私有成員
然後child類別 繼承father
class father {
private String member = "father";
public String getMember(){
return member;
}
}
class child extends father{
}
public class testMain {
public static void main(String[] args) {
child c = new child();
System.out.println(c.getMember());
}
}
依照我原本的觀念
child會繼承一份 public 的 getMember到自己身上
不過private的member就不會繼承到自己身上
因此我去呼叫child的getMember的時候
由於找不到自己身上的member,所以應該會出現錯誤
不過這隻程式實際上印出了 father 字樣
所以究竟是
1.private的member 也有繼承一份到child身上
只是外部直接使用會看不到
2.getMember並沒有繼承一份到child身上,呼叫c.getMember時
用的還是father身上的那一份
或者是其他更複雜的過程呢?
先謝謝各位版友的教導