1.
/**多边形*/
public class TestPolygon {
public static void main(String[] args) {
Polygon p1 = new ThrPolygon();
Polygon p2 = new ForthPolygon();
Polygon p3 = new EighthPolygon();
System.out.println("p1: "+p1);
System.out.println("p2: "+p2);
System.out.println("p3: "+p3);
}
}
/**三角形*/
class ThrPolygon extends Polygon {
public String toString() {
return "ThrPolygon";
}
}
/**四边形*/
class ForthPolygon extends Polygon{
public String toString() {
return "ForthPolygon";
}
}
/**八边形*/
class EighthPolygon extends Polygon{
public String toString() {
return "EighthPolygon";
}
}
class Polygon{
}//TestPolyton.java
2.TestRectangle.java
import java.awt.Point;
public class TestRectangle {
public static void main(String[] args) throws CloneNotSupportedException {
Point leftUp = new Point(3, 6);
Point rightDown = new Point(10, 12);
Rectangle r = new Rectangle(leftUp, rightDown);
System.out.println("r: " + r);
System.out.println("r.clone(): " + r.clone());
}
}
/**矩形类*/
class Rectangle extends Polygon{
private Point leftUp;//左上角点
private Point rightDown;//右下角点
public Rectangle(Point leftUp, Point rightDown) {
this.leftUp = leftUp;
this.rightDown = rightDown;
}
/**获得面积的方法*/
public int getArea(){
return (rightDown.y - leftUp.y) * (rightDown.x - leftUp.x);
}
protected Object clone() throws CloneNotSupportedException {
return new Rectangle(leftUp, rightDown);
}
public String toString() {
return "Rectangle [leftUp(" + leftUp.x+","+ leftUp.y + "), rightDown(" + rightDown.x+","+ rightDown.y + ")]";
}
}//TestRectangle.java
温馨提示:答案为网友推荐,仅供参考