父类代码
public class Fu {
int a;
public Fu(){}
public Fu(int a) {
this.a = a;
}
}
子类代码
public class Zi extends Fu implements In {
public Zi(int a){
this.a = a;
}
public void text(){
System.out.println(a);
}
}
接口代码
public interface In {
void text();
}
main方法
public class Main {
public static void main(String[] args) {
Fu z = new Zi(3);
int b = z.a;
z.text();
System.out.println(b);
}
}
在z.text(); 处报错了
public class Main {
public static void main(String[] args) {
In z = new Zi(3);
int b = z.a;
z.text();
System.out.println(b);
}
}
在int b = z.a;出报错了
原因时因为第一种情况z是Fu类型的 没有找到text方法所以报错。第二中是因为z中a是继承与Fu类得来的,In z = new Zi(3);这就使得z中没有a,所以报错。