java - 如何访问我的父类属性而不在父类中初始化它?
问题描述
我最近一周正在学习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 的音量值
解决方案
您正在创建两个对象,一个圆形和一个圆柱体。您正在设置圆的半径。然后你正在计算圆柱体的体积。你期待什么结果?
解决方法是设置圆柱体的半径:
cylinder2 obj1 = new cylinder2();
obj1.SetRadius();
obj1.GetVolume();
示例会话:
Enter Radius
3
Volume of cylinder : 141.3716694115407
这个问题实际上与父类中的内容和子类中的内容没有任何关系。当您创建一个对象时,这一切都以同一个对象结束。
推荐阅读
- php - 从隐藏的输入中提取用户特定的值
- r - R:循环表以创建 url 以进一步操作?
- c# - 在 C# 中将条件表达式与方法一起使用
- php - 删除添加到购物车通知并更改 Woocommerce 中的“添加到购物车”按钮
- c# - HTML AUTOCOMPLETEFOR 作为必填字段
- apache-kafka - 在不设置保留天数的情况下清除 Kafka 主题
- php - 如何将数据库中的图像显示到不同的页面
- r - 在带有 NA 的 R data.table 中使用 which.max 时缺少值
- azure - Azure 门户虚拟机订阅
- python - 通过 Python 子进程 Popen 的 SCP:“无法访问身份文件”