//第(1)题
public abstract class Shape {
abstract double area();
}
//第(2)题
//圆形类(Circle)
public class Circle extends Shape {
private final double PI=3.14;
private double radius;
Circle(){
}
Circle(double radius){
this.radius=radius;
}
public double getRadius() {
return radius;
}
public void setRadius(double radius) {
this.radius = radius;
}
public double area() {
return radius*radius*PI;
}
}
//方形类(Square)
public class Square extends Shape {
private double side;
public double getSide() {
return side;
}
public void setSide(double side) {
this.side = side;
}
Square(){
}
Square(double side){
this.side=side;
}
public double area() {
return side*side;
}
}
//三角形类
public class Triangle extends Shape {
private double di;
private double high;
Triangle(){
}
Triangle(double di,double high){
this.di=di;
this.high=high;
}
public double getDi() {
return di;
}
public void setDi(double di) {
this.di = di;
}
public double getHigh() {
return high;
}
public void setHigh(double high) {
this.high = high;
}
public double area() {
return di*high*1/2;
}
}
//ShapeTest 类
public class ShapeTest {
public static void main(String[] args) {
Circle c1=new Circle(5);//圆类有参初始化
Circle c2=new Circle();//圆类无参初始化
c2.setRadius(3);//初始化c2的半径
Square s1=new Square(3);//方形类有参初始化
Square s2=new Square();//方形类无参初始化
s2.setSide(5);//初始化s2的边长
Triangle t1=new Triangle(5,6);//三角类有参初始化
Triangle t2=new Triangle();//三角类无参初始化
t2.setDi(2);//初始化t2的底
t2.setHigh(6);//初始化t2的高
System.out.println("c1的面积:"+c1.area()+"\tc2的面积"+c2.area());
System.out.println("s1的面积:"+s1.area()+"\ts2的面积"+s2.area());
System.out.println("t1的面积:"+t1.area()+"\tt2的面积"+t2.area());
}
}
//打印结果
//c1的面积:78.5 c2的面积28.26
//s1的面积:9.0 s2的面积25.0
//t1的面积:15.0 t2的面积6.0
温馨提示:答案为网友推荐,仅供参考