首頁  >  文章  >  Java  >  java抽象類別的詳細介紹

java抽象類別的詳細介紹

王林
王林轉載
2020-07-18 17:12:293094瀏覽

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.net。如有侵權,請聯絡admin@php.cn刪除