温馨提示×

Java的abstract怎么使用

小亿
86
2023-12-23 14:28:17
栏目: 编程语言

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

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

    abstract class Animal {
        String name;
    
        abstract void sound(); // 抽象方法
    
        void sleep() {
            System.out.println("Animal is sleeping");
        }
    }
    
  2. 抽象方法:使用abstract关键字修饰的方法称为抽象方法,它没有方法体,只有方法的声明,具体的实现由子类实现。

    abstract void sound();
    

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

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

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

  3. 使用抽象类:

    • 抽象类不能直接实例化,只能通过其子类进行实例化。
    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");
        }
    }
    

0