如何從另一個類構造函數調用變量(長度、寬度、高度)試圖從 A 類調用變量長度、寬度、高度不能這樣做 class A { int length; int breadth; int height; A(int length,int height,int breadth) { this.length=length; this.height=height; this.breadth=breadth; } } class B extends A { public void display() { System.out.println("Length of the rect is "+length); System.out.println("Height of the rect is "+height); System.out.println("Breadth of the rect is "+breadth); } } class Inheritence { public static void main(String [] args) { new A(5,6,7); new B().display(); } }
3 回答

慕的地10843
TA貢獻1785條經驗 獲得超8個贊
我試圖從 A 類中調用變量長度、寬度、高度
不,您可能想使用 A實例中的變量。
我認為您需要的是在B其中定義的復制構造函數,它將作為參數 a A。
所以定義它,B例如
public B(A a){
super(a.length, a.breadth, a.height);
}
現在你可以這樣做:
A a = new A(5,6,7);
new B(a).display();

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
A objA = new A(5,6,7)
-使得稱為對象objA
和屬性集length
,breadth
并height
以5,6,7
分別。
B objB = new B()
- 創建一個objB
使用新屬性調用的對象length
,breadth
并且height
根本不設置它們,因此沒有什么可顯示的。
如果要將值設置為類的屬性,請在類B
中創建構造函數B
并將值分配給字段length
,breadth
并height
從中繼承A
。

陪伴而非守候
TA貢獻1757條經驗 獲得超8個贊
您需要做兩件事:
將訪問修飾符更改為 protected(在此處閱讀)
在 B 中創建一個構造函數來設置這些參數的值,例如
public B(int length, int breadth, int height) {
super(length, breadth, height);
}
完成后,B將可以訪問這些成員,并且您將能夠打印這些值。
添加回答
舉報
0/150
提交
取消