接口的創建及使用


接口是全局變量和公共的抽象方法集合。它也是一種定義數據類型的方式,與類相比

  相同之處:都是成員變量和成員方法也可以形成繼承關系。

  不同之處:接口中的屬性都是常量(final)接口中的方法是抽象方法(沒有方法體)

引入接口的原因:java只支持單重繼承,每個類只能有一個父類。但實際中有時候需要多重繼承----使用接口,一個類可以實現多個接口。

  接口定義的格式:

  

    ①【public】②interface ③接口名{

    【public】【static】【final】數據類型 屬性名=常量值;  //全局常量

    【public static】返回值類型 方法名(【形參表】);  //抽象方法

}

//①表示可以被不同包中的類或接口使用,缺省時具有包內可訪性

//②關鍵字表示接口

//③任意有效標識符

 

interface A{            //    定義接口A
    public static final String name="趙小樹";        //全局常量
    public abstract void print();            //抽象方法
    public abstract String getinfor();    //抽象方法
}
    /*
                                           ||
                                           ||
                                        等價於
                                           ||         
                                           ||
*/
interface A{
    String name="趙小樹";
    void print();
    String getinfor();

 

實現接口

  接口定義后不能直接創建對象,必須由子類實現接口。每個子類可以實現多個接口。實現接口的子類定義格式如下:

  class 子類名 ①implements 接口1,接口2,...{

    //

}

注意:類實現接口,就繼承了接口中所有成員變量和成員方法。由於接口中的方法都是抽象的,因此實現接口的類必須重寫這些方法。 

interface A{
    String name="趙小樹";
    void print();
    String getinfor();
}
interface B{
    void say();
}
class X implements A,B{
    public void say(){
        System.out.println("Hello World");
    }
    public String getinfor(){
        return "hello";
    }
    public void print(){
        System.out.println("作者:"+name);
    }
}
public class five5{
    public static void main(String[] args){
        X x=new X();
        x.say();
        x.getinfor();
        x.print();
    }
}

一個子類同時實現多個接口,實際上就擺脫了java的單繼承局限。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM