JAVA基礎(60)---介面與類的區別和聯絡
阿新 • • 發佈:2018-11-19
類,介面和抽象類之間的關係以及區別與聯絡
類與類 類與介面 以及 介面與介面 的關係
類與類
繼承關係,只能單繼承,但是可以多層繼承
類與介面
實現關係,可以單實現,也可以多實現。還可以在繼承一個類的同時實現多個介面
介面與介面
繼承關係,可以單繼承,也可以多繼承
介面和抽象類
相同點:
- 都位於繼承的頂端,用於被其他實現或繼承。
- 都不能例項化。
- 都可以定義抽象方法,其子類都必須覆寫這些抽象方法。
區別:
- 介面沒有構造方法,抽象類有構造方法。
- 抽象類可包含普通方法和抽象方法,介面只能包含抽象方法;
- 一個類只能繼承一個直接父類(可能是抽象類),卻可以實現多個介面(介面彌補了Java的單繼承)。
- 設計理念區別:抽象類被繼承體現的是:”is a”的關係,共性功能;介面被實現體現的是:”like a”的關係,擴充套件功能
public interface InterfaceDemo{
public static final int num = 10;
public static void show() {
}
public abstract void print();
}
public interface InterfaceA { public void printA(); }
public interface InterfaceB {
}
public class InterfaceDemoimpl implements InterfaceDemo,InterfaceA,InterfaceB{
int num = 20;
@Override
public void print() {
// TODO Auto-generated method stub
}
@Override
public void printA() {
// TODO Auto-generated method stub
}
}
public class Test {
public static void main(String[] args) {
///InterfaceDemo id = new InterfaceDemo();
InterfaceDemo id = new InterfaceDemoimpl();
//InterfaceDemo.num = 20;
int i = InterfaceDemo.num;
System.out.println(i);
}
}