當前位置:首頁 » 密碼管理 » java子類訪問父類的變數么

java子類訪問父類的變數么

發布時間: 2024-03-20 07:27:31

java中為什麼子類仍然可以通過繼承公共方法訪問父類的私有變數

那是因為父類中的私有變數在父類中被方法調用了,當子類執行的時候回默認執行父類中的構造方法,所以是可以的,舉例:

  • 父類

public class A {

private int x =5;

public void setX(int x) { this.x = x; }

public int getX() { return this.x; }

}

  • 子類

public class B extends A { }

這個時候如果通過「B.getX();」輸出的結果就是:5;

Ⅱ JAVA中子類引用父類成員變數

因為 private double chang; private double kuan; 私有變數只能在類內部訪問,子類是不能訪問的所以
super.chang=a;super.kuan=a;不行,而且Rectangle沒有無參構造方法,所以必須用super(a,a)來實例化。
如果想super.chang=a;super.kuan=a;的還 先把private 改成protected 這樣子類才能訪問的到。另外再給Rectangle加無參構造方法,這樣才能不通過super(a,a)來實例化父類

Ⅲ java 中Private變數如何在子類中訪問

子類是不能夠直接訪問父類中的private變數的

可行的解決方法有:

①將變數的訪問許可權修飾詞改為public或者protected或者default(什麼都不寫)

②在父類中寫一個public的成員方法獲得private變數的值

示例代碼如下:

用這種方法是比較安全的,變數控制為私有,通過get方法得到它的值,通過set方法修改它的值

Ⅳ 關於子類訪問父類私有成員變數問題,大神來看看

樓上說錯了,就只有一個B實例,沒有A實例。

繼承的概念,就是把父類的所有東西都繼承下來了,包括A類的x成員變數和所有方法,只是在B類里無法直接訪問x變數而已。

所以創建的B實例的內存里,也是有x,並為它分配了內存空間的

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:585
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:881
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:574
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:761
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:677
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1005
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:249
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:108
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:799
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:705