1. 程式人生 > >JAVA基礎(60)---介面與類的區別和聯絡

JAVA基礎(60)---介面與類的區別和聯絡

類,介面和抽象類之間的關係以及區別與聯絡

類與類   類與介面  以及 介面與介面 的關係

類與類

               繼承關係,只能單繼承,但是可以多層繼承

類與介面

               實現關係,可以單實現,也可以多實現。還可以在繼承一個類的同時實現多個介面

介面與介面

               繼承關係,可以單繼承,也可以多繼承

介面和抽象類

相同點:

  1. 都位於繼承的頂端,用於被其他實現或繼承。
  2. 都不能例項化。
  3. 都可以定義抽象方法,其子類都必須覆寫這些抽象方法。  

區別:

  1. 介面沒有構造方法,抽象類有構造方法。
  2. 抽象類可包含普通方法和抽象方法,介面只能包含抽象方法;
  3. 一個類只能繼承一個直接父類(可能是抽象類),卻可以實現多個介面(介面彌補了Java的單繼承)。
  4. 設計理念區別:抽象類被繼承體現的是:”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);
	}
}