一個類實現兩個包含同名抽象函數的接口

1.同名抽象函數返回值類型相同

  能正常編譯;

2.同名抽象函數返回值類型不同

  能正常編譯;

public interface Listener1 {
    int a=0;//默認是public static final
    void fun();//默認是public abstract
    int fun1();
}

public interface Listener2 {
    void fun();
    double fun1();
}

/**
 * 一個類實現兩個包含同名抽象函數的接口
 */
public class Student implements Listener1,Listener2 {
    /**
     * 1.既是Listener1 void fun()的實現,也是Listener2 void fun()的實現
     */
    @Override
    public void fun() {
        System.out.println("this is fun ");
    }

    @Override
    public int fun1() {//2.編譯異常:返回值和Listener2 的fun1()不兼容
        return 0;
    }

    public static void main(String[] args) {
        Listener1 l1=new Student();
        Listener2 l2=new Student();
        l1.fun();
        l2.fun();
    }
}

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