抽象類:
包含抽象方法的類
抽象方法沒有方法體{},不能執行**
抽象類不能被例項化(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.介面...