JAVA abstract 如何使用
在Java中,抽象类和抽象方法是用来定义一些基本的行为和属性,而这些行为和属性可以被子类继承和实现。
具体来说,抽象类是指一种不能被实例化的类,它只能被继承。抽象类中可以有抽象方法,也可以有非抽象方法。抽象方法是指没有实现的方法,它只是定义了方法的签名,而没有具体的实现。
使用抽象类和抽象方法可以帮助我们实现程序的多态性,从而更好地组织和管理代码。
下面是一个简单的示例代码,展示如何在Java中使用抽象类和抽象方法:
abstract class Shape {
public abstract double area();
public abstract double perimeter();
}
class Rectangle extends Shape {
private double width;
private double height;
public Rectangle(double w, double h) {
width = w;
height = h;
}
public double area() {
return width * height;
}
public double perimeter() {
return 2 * (width + height);
}
}
class Circle extends Shape {
private double radius;
public Circle(double r) {
radius = r;
}
public double area() {
return Math.PI * radius * radius;
}
public double perimeter() {
return 2 * Math.PI * radius;
}
}
public class Main {
public static void main(String[] args) {
Shape s1 = new Rectangle(3, 4);
Shape s2 = new Circle(5);
System.out.println("The area of rectangle is: " + s1.area());
System.out.println("The perimeter of rectangle is: " + s1.perimeter());
System.out.println("The area of circle is: " + s2.area());
System.out.println("The perimeter of circle is: " + s2.perimeter());
}
}
在这个例子中,我们定义了一个抽象类Shape,其中包含了两个抽象方法area()和perimeter()。然后我们定义了两个子类Rectangle和Circle,它们分别继承了Shape,并实现了抽象方法。最后,在主函数中,我们创建了两个Shape类型的对象,分别是Rectangle和Circle,并调用它们的方法来计算其面积和周长。
需要注意的是,由于抽象类不能被实例化,所以我们不能直接创建Shape类型的对象。我们只能创建它的子类对象,并将其赋值给Shape类型的变量。这样做可以帮助我们实现程序的多态性,更加灵活地使用代码。
原文地址: https://www.cveoy.top/t/topic/qjt 著作权归作者所有。请勿转载和采集!