Java的abstract怎么使用

1150
2023/12/11 14:28:17
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

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");
        }
    }
    

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: java私有方法能被重载或重写吗