java 類繼承 接口實現

</pre><pre name="code" class="java">interface IA{    
void say();    
}

interface IAA{
    int UI=4;
    void hai();
}

class A{
    
    int i=1;
    
    public void hai(){
        
        System.out.println("A");
        
    }
}
    
class B extends A implements IA,IAA{
    int i=2;
    int UI=5;
    public void say(){
        
        System.out.println("say B");
        
    }
    
public void hai(){
        
        System.out.println("hai B");
        
    }
    
    
}
public class extend{

    public static void main(String args[]){

        B b = new B();
        b.say();
        System.out.println(++b.UI);
        
        IA a = new B();
        a.say();
        //!System.out.println(++a.UI);
        IAA aa = new B();
        System.out.println(aa.UI);

    }

}

輸出:

say B
6
say B

4


如上。

需要注意的幾點:

  1. 放入接口中的任何域都是自動public static final的。放入接口中的方法自動是public abstract 的。所以代碼中註釋部分//!System.out.println(++a.UI);是編譯不過的。
  2. 一個類可以實現多個接口,用逗號隔開implements IA,IAA
  3. 不管是繼承還是接口實現,覆蓋的只是方法,父類中聲明的域不能被覆蓋。System.out.println(aa.UI);輸出的是IA接口中的UI值



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章