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