溫馨提示×

Java的abstract怎么使用

小億
88
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關鍵字修飾的方法稱為抽象方法,它沒有方法體,只有方法的聲明,具體的實現(xiàn)由子類實現(xiàn)。

    abstract void sound();
    

    子類必須實現(xiàn)抽象類中的抽象方法,否則子類也需要聲明為抽象類。

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

    注意:抽象方法不能被聲明為private、static或final,它必須被子類實現(xiàn),并且不能被實例化。

  3. 使用抽象類:

    • 抽象類不能直接實例化,只能通過其子類進行實例化。
    Animal animal = new Dog();
    animal.sound(); // 輸出:"Dog is barking"
    animal.sleep(); // 輸出:"Animal is sleeping"
    
    • 抽象類可以作為方法的參數(shù)類型和返回值類型。
    void doSomething(Animal animal) {
        // ...
    }
    
    Animal getAnimal() {
        // ...
    }
    
    • 抽象類可以被繼承和擴展。
    class Cat extends Animal {
        void sound() {
            System.out.println("Cat is meowing");
        }
    }
    

0