在这之前有给大家详细的介绍过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工具网来进行了解吧。
推荐阅读: