Java學習之抽象類和介面的區別

2021-07-22 13:21:58 字數 887 閱讀 4562

個人理解:抽象是對物件的抽象,介面是對物件行為的抽象,主要從使用上對兩者的區分:

舉例如下:

public

abstract

class la

public intege***ce li

1.抽象類和介面都不能被直接例項化,即:

la la = new la();

li li = new li();

這樣會直接編譯不過的。抽象類需要指向繼承它的子類,介面需要指向實現該介面的類物件,所以應該如下所示例項化:

class

lizxg09

extends

la }public

class

lizxg10

implements

li}la la = new lizxg09();

li li = new lizxg10();

2.抽象類裡可以有具體的實現方法,可以沒有抽象方法,可以有自己的成員變數,介面裡不能有具體的實現方法,介面裡定義的變數只能是公共的靜態常量,如下:

public

abstract

class la

}public intege***ce li

3.抽象類和介面如果被子類或者其他類繼承或實現,必須將抽象方法都重寫,不能有沒被實現的抽象方法。如果類沒有全部實現抽象類或者介面中的全部抽象方法,那麼該類必須是抽象的。

4.介面可以繼承介面,而且是多繼承,而類之間智慧型單繼承。

public integer lb 

public integer lc extends li , lb

java抽象類與介面的區別抽象類與介面的特性是什麼

介面和抽象類的概念不一樣。介面是對動作的抽象,抽象類是對根源的抽象。抽象類表示的是個物件,什麼物件。介面表示的是物件的功能,能做什麼。舉個例子 男人 物件 和女人 物件 這兩個類 物件 他們可以抽象為人。公貓和母貓可以抽象為貓。人可以吃飯,可以睡覺,貓呢也可以吃飯和睡覺,那麼這個 吃飯 睡覺 就是某...

Java抽象類和介面的區別

含有abstract修飾符的class 即為抽象類,abstract類不能建立例項物件,含有abstract的方法的類必須定義為abstract class abstract class 裡的方法不必是抽象的,抽象來中定義抽象方法必須放在具體子類中實現,所以呀,不能有抽象的構造方法或抽象的靜態方法,...

java 抽象類和介面的理解

在物件導向的概念中,我們知道所有的物件都是通過類來描繪的,但是並不是所有的類都是用來描繪物件的,如果乙個類中沒有包含足夠的資訊來描繪乙個具體的物件,這樣的類就是抽象類。抽象類往往用來表徵我們在對問題領域進行分析 設計中得出的抽象概念,是對一系列看上去不同,但是本質上相同的具體概念的抽象,我們不能把它...