1、介面與抽象類均不能例項化
2、可以implements多個介面,但extends僅能乙個抽象類
3、兩者的子類的訪問許可權必須大於等於父類。
介面中的變數僅有靜態常量(public final static),且預設的變數均為public final static。
抽象類的變數可以是靜態常量(final static),也可以是靜態變數(static),也可以是成員變數。預設的訪問許可權是friendly,即同乙個包內可以訪問。訪問許可權可選private,friendly,protected,public。
介面
訪問許可權:成員方法許可權必須為public,被abstract修飾,靜態方法訪問許可權為public,預設所有方法的許可權均為public。
其他:成員方法在jdk1.8之後允許有default型別的修飾符,表示必須在該介面中實現該方法。靜態方法必須實現。
抽象類
訪問許可權:成員方法和靜態方法在jdk1.8之前,預設的訪問許可權是protected;在jdk1.8之後,預設訪問許可權是friendly。若成員函式被abstract關鍵字修飾,則不能實現該方法,且訪問許可權不能為private,因為abstract必須能被子類訪問重寫;否則,需要寫方法體。靜態方法,必須實現。除被abstract修飾外,方法的訪問許可權可以是private,friendly,protected,public。
介面和抽象類
介面和抽象類 今天自學了一下介面,從第一次接觸介面又進一步理解介面的原理。想到介面或許我們更多的是想到和類的對比,而類中抽象類和介面又更為相似。現在我講下我對介面和抽象類的理解。如果單從具體 來看,對這兩個概念很容易模糊,甚至覺得介面就是多餘的,因為單從具體功能來看,除多重繼承外 c 抽象類似乎完全...
抽象類和介面
抽象類 1.是一種特殊的類,除了不能被例項化外,具有類得其他特性.2.抽象類的方法可以不宣告為abstract,此時可以實現方法提 如果宣告為abstract,則不可以實現方法體,只能宣告,如 public abstract int remove int i,int j 此時類必須宣告為抽象 3.乙...
抽象類和介面
1.抽象類 含有abstract修飾符的類即為抽象類。可用於實現 重用。抽象類與普通類的唯一區別 不能建立例項物件 允許有抽象方法,但不必須是抽象的。抽象類中定義的抽象方法必須在具體子類中實現,所以不能有抽象構造方法或抽象靜態方法 如果沒有全部實現抽象父類的抽象方法,子類也要定義為抽象型別。2.介面...