java抽象類和抽象方法

2021-05-18 05:08:29 字數 1284 閱讀 1877

抽象類就是不能使用new方法進行例項化的類,即沒有具體例項物件的類。抽象類有點類似「模板」的作用,目的是根據其格式來建立和修改新的類。物件不能由抽象類直接建立,只可以通過抽象類派生出新的子類,再由其子類來建立物件。當乙個類被宣告為抽象類時,要在這個類前面加上修飾符abstract。

在抽象類中的成員方法可以包括一般方法和抽象方法。抽象方法就是以abstract修飾的方法,這種方法只宣告返回的資料型別、方法名稱和所需的引數,沒有方法體,也就是說抽象方法只需要宣告而不需要實現。當乙個方法為抽象方法時,意味著這個方法必須被子類的方法所重寫,否則其子類的該方法仍然是abstract的,而這個子類也必須是抽象的,即宣告為abstract。

抽象類中不一定包含抽象方法,但是包含抽象方法的類一定要被宣告為抽象類。抽象類本身不具備實際的功能,只能用於派生其子類。抽象類中可以包含構造方法,但是構造方法不能被宣告為抽象。

抽象類不能用final來修飾,即乙個類不能既是最終類又是抽象類。

abstract不能與private、static、final、native並列修飾同乙個方法。

程式舉例:

abstract class animal    //定義抽象類

{string str;

animal(string s)     //定義抽象類的一般方法

{ str=s;

abstract void eat();      //定義抽象方法

class horse extends animal     //定義繼承animal的子類

{  

string str;

horse(string s)

{super(s);      //呼叫父類的構造方法

void eat()      //重寫父類的抽象方法

{     

system.out.println("馬吃草料!");

class dog extends animal

{string str;

dog(string s)

{super(s);

void eat()

{system.out.println("狗吃骨頭!");

class test

{public static void main(string args)

{horse horse1 = new horse("馬");

dog dog1 = new dog("狗");

horse1.eat();

dog1.eat();

執行結果:

馬吃草料!

狗吃骨頭!

java抽象類和抽象方法

抽象類就是不能使用 new方法進行例項化的類,即沒有具體例項物件的類。抽象類有點類似 模板 的作用,目的是根據其格式來建立和修改新的類。物件不能由抽象類直接建立,只可以通過抽象類派生出新的子類,再由其子類來建立物件。當乙個類被宣告為抽象類時,要在這個類前面加上修飾符 abstract 在抽象類中的成...

java抽象類和抽象方法

一.抽象方法定義 使用abstract修飾且沒有方法體的方法,稱為抽象方法.特點 1.使用抽象abstract修飾,方法沒有方法體,留給子類去實現 覆蓋.2.抽象方法修飾符不能是private,final,static修飾,因為抽象方法要留給子類去實現 3.抽象方法必須定義在抽象類或者介面中.二.抽...

java抽象類和抽象方法

抽象類就是不能使用new方法進行例項化的類,即沒有具體例項物件的類。抽象類有點類似 模板 的作用,目的是根據其格式來建立和修改新的類。物件不能由 抽象類直接建立,只可以通過抽象類派生出新的子類,再由其子類來建立物件。當乙個類被宣告為抽象類時,要在這個類前面加上修飾符abstract。在抽象類中的成員...