[英]Nested class, implemented interface object
I want to create an object KalkulatorI.AccumulatorI
in a JUnit test case.我想在 JUnit 测试用例中创建一个对象
KalkulatorI.AccumulatorI
。 When I create Kalkulator.Accumulator
it's ok ( Kalkulator.Accumulator t2 = new Kalkulator().new Accumulator()
).当我创建
Kalkulator.Accumulator
就可以了( Kalkulator.Accumulator t2 = new Kalkulator().new Accumulator()
)。 How can I create such a interface object?如何创建这样的接口对象? I tried:
我试过:
KalkulatorI.AccumulatorI t = new KalkulatorI.AccumulatorI();
or或者
KalkulatorI.AccumulatorI t = new KalkulatorI().new AccumulatorI();
but it doesn't work.但它不起作用。
AccumulatorI.java
: AccumulatorI.java
:
public interface AccumulatorI {
public int getValue();
public void setValue(int acc);
}
KalkulatorI.java
: KalkulatorI.java
:
public interface KalkulatorI {
public void setAccumulatorA(AccumulatorI a);
public void setAccumulatorB(AccumulatorI a);
}
Kalkulator.java
: 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;
}
}
You cannot instantiate interface so there is no way to call new AccumulatorI()
.您无法实例化接口,因此无法调用
new AccumulatorI()
。 Please look at the Oracle's documentation请看Oracle的文档
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.