搜尋
首頁JavaJava入門java抽象類別的詳細介紹

java抽象類別的詳細介紹

Jul 18, 2020 pm 05:12 PM
java抽象類別

java抽象類別的詳細介紹

1、區分普通方法和抽象方法

(推薦教學:java入門教學

在java中,當一個類別的方法被abstract關鍵字修飾時,該方法就稱為抽象方法,而抽象方法所在的類別必須被定義為抽象類別。當一個方法被定義為抽象方法後,意味著方法不會有具體的實現,而是在抽象類別的子類別中透過方法重寫進行實現。

2、定義抽象方法的語法格式:

[访问修饰符]abstract<返回类型><方法名>([参数列表])

abstract關鍵字表示方法定義為抽象方法。

3、普通方法和抽象方法的比較

抽象方法需要用abstract關鍵字修飾,普通方法不需要;

#普通方法有方法體,抽象方法沒有方法體。

4、區分普通類別和抽象類別

在java中,當一個類別被abstract修飾時,該類別稱為抽象類別。

5、普通類別和抽象類別的區別

抽象類別需要使用abstract關鍵字修飾,普通類別不需要;

普通類別可以實例化,抽象類別不能被實例化。

6、程式碼範例:

父類別

package demo.chongwu;

public abstract class Pet {
    private String name = "无名氏";
    private int health =100;
    private int love =0;
    //有参构造方法
    public  Pet (String name){
        this.name =name;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getHealth() {
        return health;
    }

    public void setHealth(int health) {
        this.health = health;
    }

    public int getLove() {
        return love;
    }

    public void setLove(int love) {
        this.love = love;
    }

    //抽象方法,输出宠物信息
    public abstract void print();

}

子類別

package demo.chongwu;

public class Dog  extends Pet{
    private String strain;

    public Dog(String name, String strain) {
        super(name);
        this.strain = strain;
    }

    public String getStrain() {
        return strain;
    }

    public void setStrain(String strain) {
        this.strain = strain;
    }

    @Override
    public void print() {
        System.out.println("我的名字是"+this.getName()+"我是一只"+this.strain+".");
    }
}

測試:

package demo.chongwu;

public class Test {
    public static void main(String[] args) {
        Pet pet =new Dog("布尔","拉布拉多");
        pet.print();
    }
}
输出结果:
我的名字是布尔我是一只拉布拉多.

說明:

透過將print方法抽象化,並且在子類別裡重寫父類別的print方法,這時候可以實例化子類別得到子類別對象,並且透過子類別物件呼叫子類別方法,從而輸出子類資訊。否則不這麼做的話,無法直接實例化抽象類,將無法輸出正確子類資訊。

(影片教學推薦:java影片教學

7、抽象類別和抽象方法的優勢與限制

優勢:

抽象類別中已經實現的方法可以被其子類別使用,使得程式碼可以被重複使用;

為子類別提供了抽象方法,提供了子類別具有自身的獨特性。

抽象類別的限制:

父類別的方法不一定通用,因為子類別的方法比較特殊;

子類別繼承父類別抽象類別時,寫出來的方法可能會出現程式碼重複的情況。

以上是java抽象類別的詳細介紹的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:csdn。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!