Java的abstract怎么使用

Java中的abstract关键字用于声明抽象类和抽象方法。

抽象类:使用abstract关键字修饰的类称为抽象类,它不能直接实例化,只能作为父类被继承。抽象类可以包含抽象方法和非抽象方法。

abstract class Animal {
    String name;

    abstract void sound(); // 抽象方法

    void sleep() {
        System.out.println("Animal is sleeping");
    }
}

抽象方法:使用abstract关键字修饰的方法称为抽象方法,它没有方法体,只有方法的声明,具体的实现由子类实现。

abstract void sound();

子类必须实现抽象类中的抽象方法,否则子类也需要声明为抽象类。

class Dog extends Animal {
    void sound() {
        System.out.println("Dog is barking");
    }
}

注意:抽象方法不能被声明为private、static或final,它必须被子类实现,并且不能被实例化。

使用抽象类:

抽象类不能直接实例化,只能通过其子类进行实例化。

Animal animal = new Dog();
animal.sound(); // 输出:"Dog is barking"
animal.sleep(); // 输出:"Animal is sleeping"

抽象类可以作为方法的参数类型和返回值类型。

void doSomething(Animal animal) {
    // ...
}

Animal getAnimal() {
    // ...
}

抽象类可以被继承和扩展。

class Cat extends Animal {
    void sound() {
        System.out.println("Cat is meowing");
    }
}
阅读剩余
THE END