Java 抽象类与抽象方法302


在 Java 中,抽象类是不能被实例化的类,它只提供其他类继承和实现其抽象方法的模板。抽象方法是那些没有实现的类方法,它们指定了方法签名,但没有提供实现细节。抽象类通常用作定义公共接口或抽象类层次结构的基础。

创建抽象类
public abstract class AbstractClass {
// 抽象方法
public abstract void abstractMethod();

// 非抽象方法
public void nonAbstractMethod() {
("非抽象方法");
}
}

从抽象类继承
public class ConcreteClass extends AbstractClass {
// 覆盖抽象方法
@Override
public void abstractMethod() {
("抽象方法的实现");
}
}

抽象方法的特性
必须声明为 public 或 protected
不能有方法体(即不能包含 {})
不能声明为 final、static 或 synchronized
可以有默认实现,但不能有最终实现

使用抽象类和抽象方法的好处
抽象化:定义公共接口,而无需提供具体实现。
多态性:子类可以以不同的方式实现抽象方法,从而实现多态性。
代码重用:抽象类可以形成类层次结构,允许继承和重用代码。
灵活性:允许在运行时更改实现,而无需修改接口。

示例:图形形状
public abstract class Shape {
protected String name;

public abstract double getArea();
}
public class Rectangle extends Shape {
private double length, width;

@Override
public double getArea() {
return length * width;
}
}
public class Circle extends Shape {
private double radius;

@Override
public double getArea() {
return * radius * radius;
}
}

在上面的示例中,Shape 是一个抽象类,它定义了所有形状都具有的公共接口。Rectangle 和 Circle 是从 Shape 继承的具体类,它们提供了 getArea() 方法的不同实现。

抽象类和抽象方法是 Java 中面向对象编程的重要概念。它们允许定义抽象接口,促进多态性,并提高代码的重用性。

2024-10-23


上一篇:Java 抽象类方法

下一篇:Java 字符串输入:高效获取用户输入