簡體   English   中英

嵌套類,實現接口對象

[英]Nested class, implemented interface object

我想在 JUnit 測試用例中創建一個對象KalkulatorI.AccumulatorI 當我創建Kalkulator.Accumulator就可以了( Kalkulator.Accumulator t2 = new Kalkulator().new Accumulator() )。 如何創建這樣的接口對象? 我試過:

KalkulatorI.AccumulatorI t = new KalkulatorI.AccumulatorI();

或者

KalkulatorI.AccumulatorI t = new KalkulatorI().new AccumulatorI();

但它不起作用。

AccumulatorI.java

public interface AccumulatorI {
    public int getValue();
    public void setValue(int acc);
}

KalkulatorI.java :

public interface KalkulatorI {
    public void setAccumulatorA(AccumulatorI a);
    public void setAccumulatorB(AccumulatorI a);
}

Kalkulator.java :

public class Kalkulator implements KalkulatorI {

    private AccumulatorI AA;
    private AccumulatorI BB;

    class Accumulator implements AccumulatorI{
        private int acc;

        public int getValue(){
            int res = this.acc;
            return res;
        }

        public void setValue(int acc){
            this.acc=acc;
        }
    }

    public void setAccumulatorA(AccumulatorI a){
        this.AA=a;
    }
    public void setAccumulatorB(AccumulatorI a){
        this.BB=a;
    }
}

您無法實例化接口,因此無法調用new AccumulatorI() 請看Oracle的文檔

暫無
暫無

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

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