抽象类:现有Shape图形类,用Circle圆形和Rectangle矩形子类,求图形的周长和面积。

定义一个类Shape来演示抽象类的定义和使用。

package ab;

public abstract class Shape {
	double dim;
	final double PI=3.14;
	public Shape(double dim) {
		this.dim=dim;
	}
	public abstract double callArea();//抽象方法,获得面积
	public abstract double callPerimeter();//抽象方法,获得周长
}

建立子类Circle继承父类Shape构造方法`

package ab;

public class Circle extends Shape{
	public Circle(double dim) {
		super(dim);
	}
	public double callArea() {  //实现抽象方法callArea()
		return PI*dim*dim;
	}
	public double callPerimeter() {  //实现抽象方法callPerimeter()
		return 2*PI*dim;
	}
}

建立子类Rectganle继承父类Shape构造方法`

package ab;
public class Rectangle extends Shape {
	double width;
	public Rectangle(double dim,double width){
		super(dim);
		this.width=width;
    }
	public double  callArea () {
		return dim*width;
	}
	public double callPerimeter() {
		return 2*(dim+width);
	}
	
}

测试

package ab;

public class Test {

	public static void main(String[] args) {
		// TODO 自动生成的方法存根
		Shape shape =new Circle(10);
		  //声明一个Shape对象,指向实现它的子类对象
		System.out.println("圆的面积:"+shape.callArea());
		  //调用callArea()求圆的面积,并输出
		System.out.println("圆的周长:"+shape.callPerimeter());
		  //调用callPerimeter()求圆的周长,并输出

		Shape rect1=new Rectangle(2,5);
		System.out.println("长方形的面积是:"+rect1.callArea ());
		System.out.println("长方形的周长是:"+rect1.callPerimeter());
		
	}

}

结果
在这里插入图片描述

  • 8
    点赞
  • 108
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值