继承中成员变量的关系
结论:(访问变量遵循就近原则)
- 在子类方法中访问一个变量
- 首先在子类局部范围找
- 然后在子类成员范围找
- 最后在父类成员范围找(肯定不能访问到父类局部范围)
- 如果还是没有就报错。(不考虑父亲的父亲…)
程序示例
/*
继承中的成员变量的关系
当子类的成员变量与父类的成员变量名字一致的时候,在子类的方法中访问变量
会先在该方法内部查找,如果找不到,就会去子类中的成员变量上去查找,如果
还没找到,就会去父类中查找,如果父类中也没有该名字的成员变量,就会报错
*/
class A{
int q = 11;
}
class B extends A{
int w = 22;
// int q = 200;
public void fun1(){
// int q = 100;
System.out.println(q);
System.out.println(w);
}
}
public class ExtendsDemo5 {
public static void main(String[] args) {
B b = new B();
// System.out.println(b.q);
b.fun1();
}
}