共計(jì) 733 個(gè)字符,預(yù)計(jì)需要花費(fèi) 2 分鐘才能閱讀完成。
在 Java 中,抽象類是用來定義一組相關(guān)類的共同特征和行為的。抽象類不能被實(shí)例化,只能被繼承。
要定義一個(gè)抽象類,需要在類的聲明前加上關(guān)鍵字 ”abstract”。例如:
abstract class Animal {
// 抽象類可以包含普通方法
public void eat() {System.out.println("Animal is eating");
}
// 抽象方法沒有具體的實(shí)現(xiàn),只有方法的聲明
public abstract void sound();}
抽象方法是在抽象類中聲明但沒有具體實(shí)現(xiàn)的方法,需要在子類中進(jìn)行實(shí)現(xiàn)。子類必須實(shí)現(xiàn)抽象類中的所有抽象方法,除非子類自己也是一個(gè)抽象類。例如:
class Cat extends Animal {
// 子類實(shí)現(xiàn)抽象方法
public void sound() {System.out.println("Cat is meowing");
}
}
class Dog extends Animal {
// 子類實(shí)現(xiàn)抽象方法
public void sound() {System.out.println("Dog is barking");
}
}
然后可以創(chuàng)建子類的實(shí)例,并調(diào)用其方法:
public class Main {public static void main(String[] args) {Animal cat = new Cat();
cat.eat();
cat.sound(); // 輸出:Cat is meowing
Animal dog = new Dog();
dog.eat();
dog.sound(); // 輸出:Dog is barking}
}
值得注意的是,如果一個(gè)類繼承了抽象類但沒有實(shí)現(xiàn)其中的所有抽象方法,那么該類也必須聲明為抽象類。這樣的類不能直接實(shí)例化,只能被其他類繼承。
丸趣 TV 網(wǎng) – 提供最優(yōu)質(zhì)的資源集合!
正文完