簡體   English   中英

實現接口的通用方法的類

[英]A class implementing common method of interface

只有一個問題讓我感到困惑...有兩個接口A,B包含相同的方法methodC()...,而C類實現了A&B。 應該采用哪種接口方法A或B
現在,根據我的分析,我會在課下說。

 interface  A {
        /**
         * Doc A
         * **/
        public void MethodA();

        public String MethodB();

    }

    interface  B {
        /**
         * Doc B
         * **/
        public String MethodA();

        public void MethodB();
    }

    class lucy implements A,B{

        @Override
        public String MethodA() {
            //To change body of implemented methods use File | Settings | File Templates.
            return null;
        }

        @Override
        public String MethodB() {
            //To change body of implemented methods use File | Settings | File Templates.
            return null;
        }
    }

輸出:

你好你好

假設我們有一個接口:

public interface A {

    public void firstMethod();

    public void secondMethod();
}

和這個界面:

public interface B {

    public void firstMethod();

    public void secondMethod();
}

如果創建一個實現了這兩個接口的類,它將被編譯並正常運行。

public class MyClass implements A, B {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }

    @Override
    public void firstMethod() {
        // some code here
    }

    @Override
    public void secondMethod() {
        // some code here
    }
}

但是,如果將方法firstMethod()secondMethod()MyClass但返回類型不同,則它將無法編譯。

public class MyClass implements A, B {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }

    public String firstMethod() {
        return "";
    }

    public String secondMethod() {
        return "";
    }

    @Override
    public void firstMethod() {
        // some code here
    }

    @Override
    public void secondMethod() {
        // some code here
    }
}

編寫方法簽名Java使用方法參數,但不使用返回類型。 並會導致“方法已定義”錯誤。 因為從Java的角度來看,方法: void firstMethod(); String firstMethod(); (與secondMethod()方法相同)具有相同的簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM