抽象類:
抽象類無法例項化(即不能new)。使用抽象方法,該方法是只需宣告不需要實現。抽象方法需要定義在抽象類中,乙個類包含抽象方法,這個類一定是抽象類。如果某個類是抽象類,他可以有具體方法(有宣告,有實現),也可以有抽象方法。子類繼承父類(該父類為抽象類)就要實現該父類的所定義的所有抽象方法,否則該子類也要定義為抽象類。抽象類中的變數可以只定義不賦值(static)。並且可以在子類中更改。抽象方法預設為public ,需要在方法前面加入abstract。抽象方法必須為public或者protected(因為如果為private,則不能被子類繼承,子類便無法實現該方法),預設情況下預設為public。
**:public class main}
abstract class a
} abstract class b extends a
} class c extends b
@override
void a()
介面:
介面裡的方法不能實現,只能宣告是;而介面的屬性不但要定義,還要賦值,。抽象類實現介面不需要實現介面裡面的方法。而普通類實現介面就要實現介面裡面的所有方法。介面可以多實現,但類只能單繼承,介面是為了彌補單繼承的缺點。介面中的方法只能為public,介面中可以定義「成員變數」,或者說是不可變的常量,因為介面中的「成員變數」會自動變為為public static final。可以通過類命名直接訪問:implementclass.name。
**:public class jiekou }
inte***ce a
abstract class b implements a
class c extends b
@override
public void a()
@override
public void c()
}
兩者的區別:
1.抽象類是對類抽象,而介面是對行為的抽象。抽象類是對整個類整體進行抽象,包括屬性、行為,但是介面卻是對類區域性行為進行抽象。
2.乙個類只能繼承乙個抽象類,而乙個類卻可以實現多個介面。
3.抽象類中的方法可以實現,但介面中的方法只能宣告不能實現。
4.抽象類中的成員變數可以是各種型別的,而介面中的成員變數只能是public static final型別的;
詳述抽象類與介面區別
抽象類父類 package dubhe 3 乙個類中如果有抽象方法,那麼這個類一定是抽象類,否則語法錯誤 abstract 抽象的 public abstract class mammal 子類 package dubhe public class whale extends mammal test...
抽象類和介面區別
含有abstract修飾符的class即為抽象類,abstract類不能建立的例項物件。含有abstract方法的類必須定義為abstract class,abstract class類中的方法不必是抽象的。abstract class類中定義抽象方法必須在具體 concrete 子類中實現,所以,...
抽象類和介面區別
在開發人員崗位面試時,是否了解抽象類和介面之間的基本區別是乙個很重要的考量因素。完全不是。筆者面試過很多人,通常問的第乙個問題是關於介面和抽象類的區別。但實際上很少有程式設計師能給出正確的答案。就這個問題來說,初級程式設計師可能都會清楚之間的區別,可能也並不一定理解其背後的原因,但其結構上的差異,特...