rectangleV2.java:
package factorial; public class rectangleV2 { private int length; private int width; private int area; public rectangleV2(int length, int width) { this.setLength(length); this.setWidth(width); } //封装,长和宽为可读可写,面积无法修改 public int getLength() { return length; } public void setLength(int length) { if(length <= 0) { length = 1; }else { this.length = length; } } public int getWidth() { return width; } public void setWidth(int width) { if(width <=0) { width = 1; }else { this.width = width; } } public int getArea() { area = length * width; return area; } public void show() { System.out.println("面积为:"+ this.getArea()); } }
Volumev2.java:
package factorial; import factorial.rectangleV2; public class Volumev2 { private int high; private int volume; private int area; public Volumev2(int high, rectangleV2 area) { //重点 this.setHigh(high); this.area = area.getArea(); } public int getHigh() { return high; } public void setHigh(int high) { if(high <= 0) { high = 1; }else { this.high = high; } } public int getVolume() { volume =area * high; return volume; } public void show() { System.out.println("体积为:"+ this.getVolume()); } }
TestVolume.java:
package factorial; import java.util.*; public class TestVolume { public static void main(String[] args) { Scanner input = new Scanner(System.in); for(int i = 0; i < 3; i++) { System.out.println("请输入长宽高:"); int length = input.nextInt(); int width = input.nextInt(); int high = input.nextInt(); rectangleV2 area = new rectangleV2(length,width); Volumev2 volume = new Volumev2(high,area); volume.show(); } } }
运行结果: