【发布时间】:2015-09-05 11:46:33
【问题描述】:
我有一堂课:
package foo;
public abstract class AbstractClause<T>{
protected T item;
protected AbstractClause<T> next;
}
及其子类(在不同的包中):
package bar;
import foo.AbstractClause;
public class ConcreteClause extends AbstractClause<String>{
public void someMethod(ConcreteClause c) {
System.out.println(this.next); // works fine
System.out.println(c.next); // also works fine
System.out.println(this.next.next); // Error: next is not visible
}
}
为什么?
【问题讨论】:
-
嗯,它是从子类中访问的。怎么了?
-
您是在编译时还是运行时收到错误消息?因为我可以很好地编译你的示例代码。
-
上面的代码没有问题。请提供准确的错误信息。
-
@sstan 您的派生类是否放置在与基类不同的包中?