如何访问我的父 class 属性 而无需在父 class 中对其进行初始化?

How can I access my parent class property without initializing it in the parent class?

我最近一周在学习 java,很抱歉提出这个愚蠢的问题,但是如果我只是在父 class 中声明一个变量而不在其中存储任何值,也许可以使用 setter 或用于输入其值的构造函数,那么我可以在子 class 中使用父 class 的那些 values/properties 吗?

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 的音量值

您正在创建两个对象,一个圆和一个圆柱。您正在设置圆的半径。然后你正在计算圆柱体的体积。你期待哪个结果?

解决方法是设置圆柱体的半径:

    cylinder2 obj1 = new cylinder2();
    obj1.SetRadius();
    obj1.GetVolume();

示例会话:

Enter Radius
3
Volume of cylinder : 141.3716694115407

问题确实与父 class 中的内容和子 class 中的内容没有任何关系。当你创建一个对象时,它们最终都在同一个对象中。