在Java编程中,我们经常会遇到一些特殊的关键字和概念,其中包括static、final以及抽象类等。本文将深入探讨这些关键字和概念的作用和使用方法,并通过一个实例展示抽象类的应用。
现在,我们通过一个实例来应用抽象类的概念,计算圆形和长方形的周长和面积。
abstract class Shape {
abstract double perimeter();
abstract double area();
}
class Circle extends Shape {
double r;
Circle(double r) {
this.r = r;
}
@Override
double perimeter() {
return 2 * Math.PI * r;
}
@Override
double area() {
return Math.PI * r * r;
}
}
class Rectangle extends Shape {
double a;
double b;
Rectangle(double a, double b) {
this.a = a;
this.b = b;
}
@Override
double perimeter() {
return 2 * (a + b);
}
@Override
double area() {
return a * b;
}
}
public class AbstractClassExample {
public static void main(String[] args) {
Shape circle = new Circle(5);
Shape rectangle = new Rectangle(3, 4);
System.out.println("圆形周长:" + circle.perimeter());
System.out.println("圆形面积:" + circle.area());
System.out.println("长方形周长:" + rectangle.perimeter());
System.out.println("长方形面积:" + rectangle.area());
}
}通过上述实例,我们可以看到抽象类的实际应用。Shape类作为抽象类,包含了计算周长和面积的抽象方法,而Circle和Rectangle类分别继承了Shape类,并重写了父类的抽象方法。通过多态性,我们可以灵活地调用Shape类的子类,并计算出圆形和长方形的周长和面积。
通过本文的介绍,我们深入理解了Java中的抽象类和一些关键字的概念和用法。抽象类作为面向对象编程中的重要概念,可以帮助我们更好地封装和继承,并且通过多态性实现更灵活的代码编写。希望本文对您在学习和应用抽象类方面有所帮助。
有问题或建议的话,欢迎评论区留言交流!!!