java抽象类经典实例分享

KLQ 2020-09-04 11:17:06 java常见问答 9584

在这之前有给大家详细的介绍过java抽象类,相信很多人应该都比较了解了,那么下面就要继续来给大家分享一个java抽象类的实例。

题目:

不同几何图形的面积计算公式是不一样的,可是,它们具有的特性是一样的,都具有长和宽这两个属性,也都具有面积计算的方法。

那么可以定义一个抽象类,在这个抽象类当中含有两个属性(width 和 height)和一个抽象方法area( )。

具体实现步骤:

1、创建一个表示图形的抽象类Shape:

public abstract class Shape
{
    public int width; // 几何图形的长
    public int height; // 几何图形的宽
    public Shape(int width, int height)
    {
        this.width = width;
        this.height = height;
    }
    public abstract double area(); // 定义抽象方法,计算面积
}

2、定义一个正方形类,这个类继承自形状类Shape,并重写了area( ) 抽象方法。

正方形类的代码:

public class Square extends Shape
{
    public Square(int width, int height)
    {
        super(width, height);
    }
    // 重写父类中的抽象方法,实现计算正方形面积的功能
    @Override
    public double area()
    {
        return width * height;
    }
}

3、定义一个三角形类,这个类和正方形类相同,需要继承形状类Shape,并重写父类中的抽象方法area()。

三角形类的代码:

public class Triangle extends Shape
{
    public Triangle(int width, int height)
    {
        super(width, height);
    }
    // 重写父类中的抽象方法,实现计算三角形面积的功能
    @Override
    public double area()
    {
        return 0.5 * width * height;
    }
}

4、最后,创建一个测试类,分别创建正方形类和三角形类的对象,并调用各类中的area()方法,打印出不同形状的几何图形的面积。

测试类的代码:

public class ShapeTest
{
    public static void main(String[] args)
    {
        Square square = new Square(5, 4); // 创建正方形类对象
        System.out.println("正方形的面积为:" + square.area());
        Triangle triangle = new Triangle(2, 5); // 创建三角形类对象
        System.out.println("三角形的面积为:" + triangle.area());
    }
}

分析:

在这个程序当中,创建了四个类,分别是图形类Shape、正方形类Square、三角形类Triangle 以及测试类ShapeTest。

在这当中,图形类Shape是一个抽象类,创建了两个属性,分别为图形的长度和宽度,并通过构造方法Shape( )给这两个属性赋值。

在Shape类的最后定义了一个抽象方法area( ),用来计算图形的面积。

这里的话Shape类只是定义了计算图形面积的方法,而对于如何计算并没有任何限制。

我们也能够这样去理解,抽象类Shape仅定义了子类的一般形式。

正方形类Square继承抽象类Shape,并实现了抽象方法area( )。

三角形类Triangle的实现和正方形类相同。

在测试类ShapeTest的main( )方法当中,首先创建了正方形类和三角形类的实例化对象square和triangle,之后,分别调用area( )方法实现了面积的计算功能。

5、结果:

正方形的面积为:20.0
三角形的面积为:5.0

你还想了解更多的java程序代码例子,那么就请多多的关注奇Q工具网来进行了解吧。

推荐阅读:

java中抽象类的作用是什么?抽象类作用的例子

Java多态性,重写怎样实现多态性?

如何用java获取IP地址?具体操作展示