[英]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.