abstract final
时间: 2024-01-29 18:10:44 浏览: 29
abstract和final是Java中的两个关键字,用于修饰类和方法。
1. abstract(抽象)修饰符用于表示一个类是抽象类,或者一个方法是抽象方法。抽象类不能被实例化,只能被继承。抽象方法没有方法体,只有方法的声明,需要在子类中实现具体的方法体。抽象类可以包含非抽象方法和字段。抽象类的主要作用是为了提供一个通用的基类,供子类继承和实现。
2. final(最终)修饰符用于表示一个类、方法或变量是最终的,不能被继承、重写或修改。当一个类被声明为final时,它不能被其他类继承。当一个方法被声明为final时,它不能被子类重写。当一个变量被声明为final时,它的值不能被修改。
下面是一个示例代码:
```java
abstract class AbstractClass {
abstract void abstractMethod();
void nonAbstractMethod() {
System.out.println("This is a non-abstract method."); }
}
final class FinalClass {
void finalMethod() {
System.out.println("This is a final method.");
}
}
public class Main {
public static void main(String[] args) {
// 抽象类无法实例化对象
// AbstractClass obj1 = new AbstractClass();
// 抽象类需要通过子类实现具体的方法体
AbstractClass obj2 = new AbstractClass() {
@Override
void abstractMethod() {
System.out.println("This is an implementation of abstract method.");
}
};
obj2.abstractMethod();
obj2.nonAbstractMethod();
FinalClass obj3 = new FinalClass();
obj3.finalMethod();
}
}
```