java 抽象类 实例—代码示例

ThinkPhpchengxu

温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!

java 抽象类 实例—代码示例

抽象类是Java中一种特殊的类,它不能被实例化,只能被继承。抽象类通常用于定义一些共同的属性和方法,供子类继承和实现。抽象类可以包含普通方法和抽象方法,其中抽象方法没有具体的实现,需要子类去实现。

下面是一个示例代码,演示了如何定义一个抽象类和使用它:

abstract class Shape {

protected String color;

public Shape(String color) {

this.color = color;

}

public abstract double getArea();

public void display() {

System.out.println("This shape is " + color);

}

}

class Circle extends Shape {

private double radius;

public Circle(String color, double radius) {

super(color);

this.radius = radius;

}

public double getArea() {

return Math.PI * radius * radius;

}

}

class Rectangle extends Shape {

private double width;

private double height;

public Rectangle(String color, double width, double height) {

super(color);

this.width = width;

this.height = height;

}

public double getArea() {

return width * height;

}

}

public class Main {

public static void main(String[] args) {

Circle circle = new Circle("red", 2.0);

circle.display();

System.out.println("Area of the circle: " + circle.getArea());

Rectangle rectangle = new Rectangle("blue", 3.0, 4.0);

rectangle.display();

System.out.println("Area of the rectangle: " + rectangle.getArea());

}

}

在上面的示例代码中,我们定义了一个抽象类`Shape`,它有一个抽象方法`getArea()`和一个普通方法`display()`。`Shape`类的构造函数接收一个颜色参数,并将其赋值给`color`属性。`Circle`和`Rectangle`类分别继承了`Shape`类,并实现了`getArea()`方法。

在`Main`类的`main()`方法中,我们实例化了一个`Circle`对象和一个`Rectangle`对象,并调用它们的`display()`方法和`getArea()`方法。由于`Shape`类是抽象的,我们不能直接实例化它,但是我们可以通过实例化它的子类来使用它的方法和属性。

运行以上代码,输出结果为:

This shape is red

Area of the circle: 12.566370614359172

This shape is blue

Area of the rectangle: 12.0

通过以上示例,我们可以看到抽象类的使用方法和继承关系,以及抽象方法的实现方式。抽象类可以作为一种模板,供子类去实现具体的功能,从而实现代码的复用和扩展。

文章版权声明:除非注明,否则均为莫宇前端原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码