【发布时间】:2020-11-14 09:57:27
【问题描述】:
我是初学者,想学习java中的继承概念,我做了一个程序来计算一个正方形的面积和一个立方体的体积,我把立方体类扩展到正方形类
方形(父)
public class Persegi {
double sisi;
public double getSisi() {
return sisi;
}
public void setSisi(double sisi) {
this.sisi = sisi;
}
public double getLuas(){
return sisi * sisi;
}
}
立方体(儿童)
public class Kubus extends Persegi{
Persegi psg = new Persegi();
public double getVolume(){
return psg.getLuas() * psg.getSisi();
}
但是当我在主类中打印值时,子类并没有从我在父类中创建的方法中获取值
主类
public class MainProgram {
public static void main(String[] args){
Persegi persegi = new Persegi();
Kubus kubus = new Kubus();
Scanner nilai = new Scanner(System.in);
System.out.print("Masukkan nilai sisi = ");
persegi.setSisi(nilai.nextInt());
System.out.println("Luas = "+persegi.getLuas());
System.out.println("Volume = "+kubus.getVolume());
}
结果是这样的output
【问题讨论】:
-
您没有在
Kubus实例上调用setSisi(),仅在Persegi实例上调用。因此,kubus.getSisi()返回零,零乘以任何值,不出所料,为零。
标签: java inheritance