Java抽象類與抽象方法

2021-07-09 12:39:48 字數 1525 閱讀 4193

一、

定義乙個抽象類animal:

public

abstract

class animal

這個類裡面現在什麼都沒有。那麼它裡面可以有什麼?我們試著給它加上成員變數,成員方法等,看看行不行。

public

abstract

class animal ;

int quality;

public

void

eat() {};

class member {};

}

我們給它加上構造方法,成員變數,成員方法,成員類,都是沒問題的。

二、 新建乙個test類,對animal進行測試:

public

class test

}

在main()方法裡建立animal類的例項,結果行不通。原因是抽象類不能被例項化,這是抽象類的乙個重要特點。

三、新建乙個tiger類繼承animal類:

public

class

tiger

extends

animal

修改test類:

public

class test

}

結果表示,繼承animal類的tiger類是可以被例項化的。也就是說,抽象類不能例項化,但是其子類可以。

public

abstract

class animal ;

int quality;

public

void

eat() {};

class member {};

public

abstract

void

move();//增加的抽象方法

}

抽象方法就是沒有方法體的方法,必須用abstract修飾。

但是這麼一改之後,animal類沒有問題,但tiger類會報錯。原因是tiger類是繼承自animal類的,它必須繼承並覆寫父類的抽象類。

要消除報錯,一可以在tiger類裡實現move()抽象類:

public

class

tiger

extends

animal ;

}

二,也可以將tiger類也改為抽象類:

public

abstract

class

tiger

extends

animal

但是tiger類也就不能例項化了。

因此,抽象類存在的意義就在於被繼承並實現其抽象方法。

非抽象類裡面不能有抽象方法。

五,把animal類裡的成員類member變為抽象型別也是沒有問題的。tiger子類不用管父類中的這個member子類。

Java 抽象類與抽象方法

抽象方法 在類中沒有方法體的方法,就是抽象方法。抽象類 含有抽象方法的類就叫抽象類。抽象類中的抽象方法必須被實現!如果乙個子類沒有實現父類中的抽象方法,則子類也成為了乙個抽象類!抽象類中的普通方法,可以不必實現。1用abstract關鍵字來修飾乙個類時,這個類叫做抽象類 用abstract來修飾乙個...

Java(抽象類與抽象方法)

關鍵字abstract修飾的類稱為抽象類,抽象類是一種沒有完全實現的類,不能用它例項化任何物件,它的主要用途是描述一些概念性的內容,然後在子類中具體的實現這些概念,這樣可以提高開發效率,統一使用者介面,所以抽象類更多的是作為其他類的父類。抽象類中可以含有抽象方法,抽象方法是用abstract修飾的方...

java抽象類抽象方法

抽象類 使用abstract關鍵字修飾的class,稱為抽象類 1 抽象類無法例項化 抽象方法 使用abstract關鍵字修飾的方法且沒有實現 有宣告無實現 稱為抽象方法 1 eg public abstract void method 2 沒有 3 抽象方法需要定義在抽象類中 抽象類和抽象方法 1...