可能重复:
Cannot refer to a instance method while explicitly invoking a constructor
我一直试图这么做。
public class bb extends test {
int t = 23;
public bb() {
super(t); //**This is the place that error comes**
// TODO Auto-generated constructor stub
}
public bb(int v) {
}
}
public class test {
public test() {
// TODO Auto-generated constructor stub
}
public test(int v) {
// TODO Auto-generated constructor stub
}
}
控制器类
class s {
public static void main(String[] args) {
bb sd = new bb();
System.out.println("sdfsdfsdfd");
}
}
这是出现的错误。我想知道为什么实例变量不能传递给超类构造函数?我怀疑这是因为构造函数没有可访问的实例。
线程“main”中的异常java.lang.Error:未解决的编译问题: 在显式调用构造函数
时,不能引用实例字段t答案 0 :(得分:7)
如果将该变量设为static
变量,则错误将消失..这是因为
Instance Variables
,但在这种情况下,在
child's constructor
其父构造函数被执行..这意味着
子类。或换句话说,它们尚未构建......但是以防万一
<{1>}static variables
他们是第一个被执行的人,因此他们有一些价值观并且有效。
非常好..