文章出處

在上一篇Java中的抽象類中提到抽象類,現在講一個和它很像的東西“接口”,為什么說它和抽象類很像呢?因為接口也是抽象的,它一樣不實現具體的代碼,下面就是一段關于接口的代碼

interface Base{
    void hello();
}

class A implements Base{
    public void hello(){
        System.out.println("hello A");
    }
}

public class app {
    public static void main(String[] args){
        A a = new A();
        a.hello();
    }
}

// hello A

Java通過interface來定義接口,通過implements來實現具體代碼。這真的非常像抽象類abstract,那么它和抽象類有什么區別呢?接口里面的方法必須是抽象方法,而抽象類里面的方法則根據你自己來定義。另外一個比較大的區別就是,一個接口可以繼承至多個接口,而抽象類則不能,繼承至多個接口通過逗號隔開。以下是一個繼承至多個接口的例子。

interface Base{
    void hello();
}
interface Base2{
    void hello2();
}

interface Base3 extends Base,Base2{
    void hello3();
}

class A implements Base3{
    public void hello(){
        System.out.println("Hello 1");
    }
    public void hello2(){
        System.out.println("Hello 2");
    }
    public void hello3(){
        System.out.println("Hello 3");
    }
}

public class app {
    public static void main(String[] args){
        A a = new A();
        a.hello();
        a.hello2();
        a.hello3();
    }
}

也就是類體里全部都是抽象方法時,我們就可以把這個類定義為接口。

不過也需要注意一下,再接口中定義的變量或方法默認都是公開的public,所以在實現具體方法時,必須顯示的設置,另外一點就是接口中的變量都會成為常量。

那么接口有什么用呢?個人感覺就是用來歸類的,還有一點就是,一種規范,其他人能夠知道這個接口中都有哪些方法,而不必去關心里面具體是怎么實現的,我們只要調用這個接口就可以了,在自己寫庫時比較實用。


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()