Variables 子类无法更新抽象超类成员变量
我查看了这里发布的问题,没有发现讨论过这种特殊情况 我的代码比这复杂得多,但问题似乎归结为以下几点:Variables 子类无法更新抽象超类成员变量,variables,abstract,member,Variables,Abstract,Member,我查看了这里发布的问题,没有发现讨论过这种特殊情况 我的代码比这复杂得多,但问题似乎归结为以下几点: public abstract class AbstractSuper { protected List<String> supersList = new ArrayList<String(); public AbstractSuper (int someArg) { initList(); } protected abstrac
public abstract class AbstractSuper {
protected List<String> supersList = new ArrayList<String();
public AbstractSuper (int someArg) {
initList();
}
protected abstract void initList();
public int getListCount() {
return supersList.size();
}
}
public class ConcreteChild extends AbstractSuper {
public ConcreteChild (int someArg) {
super(someArg);
}
@Override
protected void initList() {
supersList = Arrays.asList("Test String");
}
}
公共抽象类AbstractSuper{
protected List supersList=new arraylist您的意思是return supersList.size();
ingetListCount()
?是的。修复了这个问题。谢谢。问题仍然适用。使用调试器单步执行代码可能会告诉您错误所在。如果没有看到从中获得意外值的代码,则回答此问题会更加困难。我运行了上述代码,但从getListCount()中获得了1
。您的问题可能在其他地方。是否确定您的测试字符串
不是一个空数组?我将看到我可以让它与我的实际代码更接近,而无需将专有的或不切实际的大量代码放在这里供人们分析。问题可能是,这实际上是由GWT编译成JavaScript的代码,所以它作为GW运行后的工作方式可能会有所不同浏览器JS引擎中的T构造。