相同點:
1.都位於繼承的頂端,用於被其他子類或接口繼承或實現.
2.都不能實例化.
3.都可以定義抽象方法,其非抽象子類必須覆寫這些抽象方法.
區別:
1.接口沒有構造方法,抽象類有構造方法.
2.接口只能包含抽象方法,抽象類可以包含普通方法和抽象方法.
3.一個類只能繼承一個直接父類(可能是抽象類),卻可以實現多個接口(接口彌補了java的單繼承)
4.變量:接口裏默認是public static final修飾,抽象類是默認包訪問權限.
5.方法:接口裏默認是public abstract修飾,抽象類默認是包訪問權限.
6.內部類:接口裏默認是public static修飾,抽象類默認是包訪問權限.