抽象類和介面

2021-09-28 18:04:17 字數 1015 閱讀 4784

抽象類:

包含抽象方法的類

抽象方法沒有方法體{},不能執行**

抽象類不能被例項化(shape shape = new shape // 錯誤)

包含抽象方法的類必須加abstract關鍵字表明這是抽象類

抽象方法不能是private的

同時也可包含普通方法和普通字段

普通方法和普通字段可以被子類直接呼叫而不必重寫(override)

例子

abstract

class

shape

string name ="";

abstract

public

void draw ();

}

介面(inte***ce):

只能包含抽象類

不能包含普通方法

子類必須重寫所有的抽象方法

乙個子類可以實現多個介面

可以extends多個父介面

不能繼承抽象類

字段只能包含靜態常量(final static)

介面中的方法一定是抽象方法 ,可以省略abstract

介面中的方法一定是public,可以省略public

使用implements 實現介面(什麼都沒有,需要自己實現)

介面不能單獨被例項化

介面命名以大寫字母i開頭緊跟形容詞

注:介面中的方法和屬性不要加任何修飾符號,保持**簡潔性

可以在呼叫的時候建立乙個介面的引用,對應到乙個子類的例項,例:

inte***ce

ishape

public

class

rect

implements

ishape

}public

class

test

}

抽象類存在的本身意義就是為了被繼承

抽象類不能被例項化,只能建立該抽象類的子類,然後讓子類重寫抽象類中的方法

相當於多了一層編譯器的校驗

介面和抽象類

介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...

抽象類和介面

抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...

抽象類和介面

1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...