我最近一周正在學習 Java,抱歉這個愚蠢的問題,但如果我只是在父類中宣告一個變數而不在其中存盤任何值,也許使用 setter 或建構式來輸入它的值,然后我可以使用這些值/ 子類中父類的屬性?
class circle2
{
double radius;
double Area;
Scanner Sc = new Scanner(System.in);
void SetRadius() {
System.out.println("Enter Radius");
radius = Sc.nextDouble();
}
}
class cylinder2 extends circle2
{
double height=5,volume;
void GetVolume(){
volume=Math.PI*radius*radius*height;
System.out.println("Volume of cylinder : " volume);
}
}
public class Ch10Alternate_PS {
public static void main(String[] args) {
circle2 obj = new circle2();
obj.SetRadius();
cylinder2 obj1 = new cylinder2();
obj1.GetVolume();
}
}
這給了我 0.0 的音量值
uj5u.com熱心網友回復:
您正在創建兩個物件,一個圓和一個圓柱體。您正在設定圓的半徑。然后你正在計算圓柱體的體積。你期待哪個結果?
解決辦法是設定圓柱體的半徑:
cylinder2 obj1 = new cylinder2();
obj1.SetRadius();
obj1.GetVolume();
示例會話:
Enter Radius
3
Volume of cylinder : 141.3716694115407
這個問題實際上與父類中的內容和子類中的內容沒有任何關系。當您創建一個物件時,它們最終都在同一個物件中。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346873.html
