Java抽象类的一个例子
2016-05-17 11:53
357 查看
package suda.alex.test; import java.applet.Applet; abstract class Graphic { public int x, y;// 画图的坐标 public int width, height;// 图形的宽和高 public Graphic(int x, int y, int width, int height) { this.x = x; this.y = y; this.width = width; this.height = height; } abstract double getArea(); abstract double getPerimeter(); } class Square extends Graphic { public Square(int x, int y, int width, int height) { super(x, y, width, height); } @Override double getArea() { return width * height; } @Override double getPerimeter() { return (width + height) * 2; } } class Triangle extends Graphic { public double c; public Triangle(int x, int y, int width, int height) { super(x, y, width, height); c = Math.sqrt(width * width + height * height); } @Override double getArea() { return 0.5 * width * height; } @Override double getPerimeter() { return width + height + c; } } class Circle extends Graphic { public double r; public Circle(int x, int y, int width, int height) { super(x, y, width, height); r = (double) width / 2.0; } @Override double getArea() { return Math.PI * r * r; } @Override double getPerimeter() { return 2 * Math.PI * r; } } public class Graphics extends Applet { Square square = new Square(5, 15, 25, 25); Triangle triangle = new Triangle(5, 50, 8, 4); Circle circle = new Circle(5, 90, 25, 25); public void paint(java.awt.Graphics g) { g.drawRect(square.x, square.y, square.width, square.height); g.drawString("Square area:" + square.getArea(), 50, 35); g.drawString("Square Perimeter:" + square.getPerimeter(), 50, 55); g.drawOval(circle.x, circle.y, circle.width, circle.height); g.drawString("circle Area:" + circle.getArea(), 50, 95); } }
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树