我有一个名为“A”的类实现接口(interface)“I”,如下所示
public interface I<T>{
void setList(List<T> list)
}
public class A implements I<M>{
private List<M> mList;
public void load(){
//Working on mList....
}
public void method(){
someList;
I<M> i = this;
i.setList(someList);
}
public void setList(List<M> list){
this.mList = list;
}
}
public class M{
private String str;
}
我想将列表的值分配给 mList 并在类内的任何位置使用它,但是该值将在重写方法内分配,但是当我在任何其他方法(如 load)中使用 mList 时,它不会给我该值。
最佳答案
终于我找到了我应该做的解决方案,如下所示
public interface I<T>{
void setList(List<T> list)
}
public class A implements I<M>{
private List<M> mList;
I<M> i;
public A(){
this.i = this;
}
public void load(){
//Working on mList....
}
public void method(){
someList;
i.setList(someList);
}
public void setList(List<M> list){
this.mList = list;
}
}
public class M{
private String str;
}
关于java - 为什么在实现接口(interface)的方法内部分配实例变量在从同一类的另一个本地方法调用它时不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60159675/