1、按要求编写一个Java应用程序

(1)定义一个接口Shape,有求周长和面积的方法。
(2)定义一个圆形类Circle,继承Shape。
(3)创建一个Shape[]数组,存储三个圆形。
(4)计算数组中所有圆形的总面积和总周长。

package Day0921.D01;/**定义接口类Shape*/
public interface Shape {// 求周长double getPer();// 求面积double getArea();
}
package Day0921.D01;public class Circle implements Shape {private final double PI = 3.14;private double r;public double getPI() {return PI;}public double getR() {return r;}public void setR(int r) {this.r = r;}public Circle() {}public Circle(int r) {this.r = r;}@Overridepublic double getPer() {return 2 * PI * r;}@Overridepublic double getArea() {return PI * r * r;}
}
package Day0921.D01;public class Test {public static void main(String[] args) {Shape[] s = new Shape[3];// 向上转型,最后是Shape类型s[0] = new Circle(5);s[1] = new Circle(10);s[2] = new Circle(15);// 取出的类型:Shapedouble sumPer = 0;double sumArea = 0;for (Shape shape : s) {sumArea += shape.getArea();sumPer += shape.getPer();}System.out.println(sumArea);System.out.println(sumPer);}
}
2、定义一个台灯类Lamp,有一个灯泡属性,还有一个开灯的方法。灯泡分为红灯泡和绿灯泡,都有发光的方法。要求:在不修改台灯代码的前提下,更换灯泡发出不同的光。
package Day0921.D02;public class Lamp {private Bubble b;public Bubble getB() {return b;}public void setB(Bubble b) {this.b = b;}public void open() {b.light();}
}
package Day0921.D02;public class Bubble {public void light(){System.out.println("发光");}
}
package Day0921.D02;public class GreenBubble extends Bubble{@Overridepublic void light() {System.out.println("发绿光");}
}
package Day0921.D02;public class RedBubble extends Bubble{@Overridepublic void light() {System.out.println("发红光");}
}
package Day0829.D02;import java.awt.*;public class Test {public static void main(String[] args) {RedBubble r = new RedBubble();GreenBubble g = new GreenBubble();Lamp l = new Lamp();l.setB(r);l.open();l.setB(g);l.open();}
}

Java0921练习相关推荐

最新文章

  1. 二分类任务:确定一个人是否年收入超过5万美元
  2. jsp页面取整数 和Java页面取整数
  3. linux 编译c_含有CGO代码的项目如何实现跨平台编译
  4. python-学习 协程函数 模块与包
  5. 广播 消息 没有服务器,服务器节点消息广播
  6. 基于php的织梦cms新闻发布,DedeCms
  7. 总结Verilog中always语句的使用
  8. 三因素三水平正交表l9_正交试验在减水剂中的应用
  9. java filenet_为FileNet P8组件集成器开发Java组件
  10. 振兴会杜振国分析美股行情
  11. Cesium之【空间面积】测量
  12. [已迁移]pwn-buu-VMpwn-[OGeek2019 Final]OVM
  13. 逐步分析类的拆分之案例——五彩斑斓的小球碰撞
  14. SpringSecurity实现自定义登录界面
  15. C++ 在 windows vscode 上使用 utf-8
  16. [暑假]解决:开发分支拉错问题,比如我们在master修改成feature
  17. ZUCC_编译语言原理与编译_实验04 语言与文法
  18. 诗歌二 未知来生相见否,陌上逢却在少年。
  19. 天刀论剑显示服务器,天刀论剑系统全方位深入科普
  20. PHP如何获取网页源码?

热门文章

  1. [易飞]ERP附件与电子签核集成
  2. 七彩虹计算机主板怎么样,七彩虹的主板怎么样?
  3. dj java实现_躁!DJ 风格 Java 桌面音乐播放器
  4. 用遥控器的例子逐步介绍命令模式
  5. linux中iso文件怎么打开软件,iso是什么文件?如何打开iso文件?
  6. 怎么把PDF文件转换成CAD格式
  7. 突发奇想系列:分布式事务解决方案(由于MySQL行锁失败)
  8. 神经网络的起源和发展,人工神经网络发展历史
  9. PSIM免安装的方法附加使用教程
  10. MySQL报2003错误