一、题目:矩形类中具有长、宽、面积三个成员变量和计算面积的方法,再创建矩形类的子类——正方形类,重写计算面积的方法。在柱体类中,创建矩形类对象做成员变量作为柱体的底,定义换底和计算体积的方法。在主类中,计算一个以矩形对象为底的柱体体积,再利用换底方法更换为正方形底,并再次计算体积。
二、代码以及注释
/** * 先定义一个矩形类。里面有长。宽。面积三个成员变量,写出矩形类的构造方法。方法里有两个参数,定义一个计算面积的方法 * 定义一个正方形类继承矩形类,定义构造方法。方法里面一个参数。构造方法里用super()调用父类的构造方法。重写计算面积的 * 方法。定义一个柱体类。里面有矩形对象p1。高。体积三个成员变量。定义换底方法与获取柱体体积的方法。 */ class juxing { int chang; int kuan; int area; public juxing(int chang, int kuan) { this.chang = chang; this.kuan = kuan; } void setArea() { area = chang * kuan; } } class zhengfangxing extends juxing { public zhengfangxing(int bian) { super(bian, bian); } void setArea() { area = chang * chang; } } class zhuti { juxing p1; int gao; int volum; zhuti(juxing p1, int gao) { this.p1 = p1; this.gao = gao; } void setp1(juxing p1) {// 换底方法 this.p1 = p1; } void getvolum() { volum = p1.area * gao; } } public class examplesuper { public static void main(String[] args) { juxing p1 = new juxing(3, 4); p1.setArea(); zhuti c = new zhuti(p1, 5); c.getvolum(); System.out.println("长方形柱体体积为:" + c.volum); c.setp1(new zhengfangxing(5)); c.p1.setArea(); c.getvolum(); System.out.println("正方形柱体体积为" + c.volum); } }
运行结果: