抽象類 抽象方法以及介面

2021-08-28 03:45:59 字數 1649 閱讀 3822

抽象方法宣告語法:

abstract void f();

包含抽象方法的類叫做抽象類,如果乙個類包含乙個或多個抽象方法,該類必須被限定為抽象類,負責編譯器就會報錯。且抽象類不允許被建立物件

如果乙個類繼承自乙個抽象類,如果想建立此類的物件,就必須為父類(基類)中的抽象方法提供方法定義,否則此類只能被abstract修飾成為抽象類。

下面看一段**

abstract class animal

}class bird extends animal

@override

void run()

}public

class

testabstract

}/**

* output:

* zhazhazha...

* flying...

* eating...

*/

總結一下抽象類和抽象物件的幾個要點:

介面:inte***ce關鍵字使抽象的概念更向前邁了一步。這個關鍵字產生乙個完全抽象的類,他不提供任何具體的實現,,允許建立者確定方法名、引數列表和返回型別,但是沒有方法提。換句話說,介面只提供了形式,不提供任何具體實現。

再來看一段**:

public

inte***ce

testjiekou

class pig implements testjiekou

@override

public

void

eat()

@override

public

intnum(int a, int b)

}public

class

test01

}/**

* output:

* running..

* eating...

* 30

*/

介面可以實現多繼承,我們用一段**來看這一過程

inte***ce

printtest1

inte***ce

printtest2

inte***ce

printtest3

extends

printtest1,printtest2

class

test

implements

printtest3

@override

public

void test2()

@override

public

void test3()

}public

class

printtest

}/**

* output:

* test1()

* test2()

* test3()

*/

可以看見,在printtest3中繼承了前面兩個介面,所以當類test實現printtest3介面是需要重寫三個介面的所有方法。

關於抽象類 抽象方法以及介面

abstract修飾 抽象類不能被例項化,抽象類裡可以包含抽象方法也可以不包含 但有抽象方法的類必須是抽象類。抽象類可以包含 含有抽象方法的類,包括 只能定義為抽象類。利用抽象方法和抽象類的優勢,可以更好地發揮多型的優勢,使得程式更加靈活 abstract和final不能同時修飾同乙個類或方法 當使...

介面,抽象類,抽象方法

一.抽象方法 1.用abstract修飾 2.沒有方法體 二.抽象類 1.含有抽象方法的類叫抽象類 抽象類無法建立物件,只有被繼承並且覆蓋重寫後 去掉抽象 才能使用 三.介面 1.抽象方法 2.常量,常量必須是final的,比如電源中引數不能夠改變 3.預設 方法公升級用 4.靜態方法和私有方法 介...

介面以及抽象類

a 介面的格式 訪問修飾符 inte ce 介面名 a 抽象類的注意事項 1.抽象類可以繼承類或者抽象類。2.抽象類可以繼承類或者抽象類,同時再去實現介面。3.抽象類可以定義類和介面中所有的內容。抽象類是類和介面的整合 4.抽象類也是不能例項化物件的。d 繼承抽象類的格式 public class ...