當前位置:首頁 » 密碼管理 » 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,並為它分配了內存空間的

熱點內容
光遇如何用密碼登上賬號 發布:2025-01-16 18:01:26 瀏覽:245
class反編譯軟體 發布:2025-01-16 18:01:12 瀏覽:6
安卓手機推特叫什麼 發布:2025-01-16 17:55:32 瀏覽:210
linux下安裝mysql 發布:2025-01-16 17:54:58 瀏覽:630
c語言停留 發布:2025-01-16 17:51:13 瀏覽:959
一機一碼文件加密 發布:2025-01-16 17:36:19 瀏覽:415
軟體登錄密碼用戶名是什麼 發布:2025-01-16 17:11:52 瀏覽:111
我的世界建伺服器該注意什麼 發布:2025-01-16 17:06:40 瀏覽:568
php隨機小數 發布:2025-01-16 17:02:48 瀏覽:139
linuxterminal 發布:2025-01-16 17:02:04 瀏覽:249