面向對象介面總結 介面理解: 介面是功能的集合,介面的定義也使用.java文件,編譯之後也產生.class文件。類的定義使用class ,而介面的定義使用interface; 定義格式: 介面定義demo: 介面的使用規則: 1.介面不能創建對象 2.介面使用可以定義實現類,實現介面,重寫介面中的抽 ...
面向對象介面總結
介面理解:
介面是功能的集合,介面的定義也使用.java文件,編譯之後也產生.class文件。類的定義使用class ,而介面的定義使用interface;
定義格式:
1 public interface 介面名{ 2 //常量定義格式:public static final 常量名(一般是大寫) 3 成員變數->常量 4 //抽象方法定義:public abstract 返回值類型 方法名(參數列表) 介面中的方法全部是抽象方法 5 成員方法->抽象方法 6 } 7 //註意:常量和抽象方法的修飾符都是固定不變的,寫不寫都是這寫修飾符,可以省略修飾符
介面定義demo:
1 public interface MyInterface{ 2 //定義常量 3 public static final int TIME=133; 4 //定義抽象方法 5 public abstract void show(); 6 }
介面的使用規則:
1.介面不能創建對象
2.介面使用可以定義實現類,實現介面,重寫介面中的抽象方法,創建實現類對象使用
實現類的定義:
介面實現類與介面的關係是實現關係,即類實現介面,使用關鍵字implements
格式:
修飾符 class 類名 implements { 重寫介面中的全部方法; }
//在類實現介面之後,這個類會將介面中的抽象方法全部繼承過來,此類就需要重寫抽象方法,才可以創建對象,否則子類還是一個抽象類;
介面的特點:
1.java中支持一個類可以同時實現多個介面
不會產生安全隱患,介面中的方法都是抽象方法,沒有方法體,實現類需要重寫所有介面中的抽象方法;
demo:
public class AandBImpl implements A,B{ //重寫A和B中的方法; }
2.java中支持一個類繼承父類的同時,可以實現多個介面(一個人可以有一個親爹,多個乾爹)
子類要重寫父類與介面中的抽象方法
demo:
public class Student extends Person implements Eat,Play{ //重寫父類和介面中的全部抽象方法 }
3.介面與介面之間的關係是繼承的關係,一個介面可以同時繼承多個介面
C介面繼承類A和B介面,就相當於C中擁有類ABC三個介面的所有抽象方法;
public interface C extends 介面A,介面B{}
總結:
1.類與類之間是繼承的關係;
public class A extends B{}
2.類與介面的關係是實現關係:
public class AImpl implements B{}
3.介面與介面之間的是繼承關係:
public interface A extends B,C{}