追答:
下面的Cube类和Test类是回答你的两个问题,要放在相对应的不同.java文件中分别编译,用Test类运行。就是说Square和Cube类可以放在Cube.java中,Test类放在Test.java中分别编译。 class Square{ double w=0; double l=0; Square(double w,double l){ this.w=w; this.l=l; } } public class Cube extends Square{ protected double h=0; Cube(double w,double l,double h){ super(w,l); this.h=h; } public double volume(){ return super.w*super.l*this.h; } } public class Test { public static void main(String[] args) { Cube Cube1=new Cube(3,2,1); Cube Cube2=new Cube(7,3,2); System.out.println(Cube1.volume()); System.out.println(Cube2.volume()); } } 或者你看看这个Cube类是不是更好一些。 class Square{ double w=0; double l=0; Square(double w,double l){ this.w=w; this.l=l; } public double area(){ return this.w*this.l; } } public class Cube extends Square{ protected double h=0; Cube(double w,double l,double h){ super(w,l); this.h=h; } public double volume(){ return area()*this.h; } } public class Test { public static void main(String[] args) { Cube Cube1=new Cube(3,2,1); Cube Cube2=new Cube(7,3,2); System.out.println(Cube1.volume()); System.out.println(Cube2.volume()); } }