继承中变量的访问特点

继承中变量的访问特点

在子类方法中访问一个变量(就近原则)

  1. 子类局部范围查找
  2. 子类成员范围找
  3. 父类成员范围找
  4. 如果以上都没有则报错(不考虑父亲的父亲,有就是说只有父与子单个下情况)

定义测试类

package Demmon02.JiChu;
//测试类
public class Demon {
    public static void main(String[] args) {
        Zi z = new Zi();//new出子类
        z.show();//对象调用该方法
    }
}

父类

package Demmon02.JiChu;
//父类
public class Fu {
    public int age=66;//父类变量age
}

子类(4种情况)

第一种(局部变量)

package Demmon02.JiChu;

public class Zi extends Fu{
    //extends继承
     /*
       属性
          */
    public int age=18;
    public String name="沸羊羊";
     /*
       方法
          */
    public void show(){
        int age=17;//局部下也定一个age
        System.out.println(age);//局部
        System.out.println(name);
    }
}
/*输出结果为:17
            沸羊羊
*/

第二种(子类成员变量)

package Demmon02.JiChu;

public class Zi extends Fu{
    //extends继承
     /*
       属性
          */
    public int age=22;//成员
    public String name="沸羊羊";
     /*
       方法
          */
    public void show(){
        //int age=17;局部
        System.out.println(age);
        System.out.println(name);
    }
}
/*输出结果为:22
            沸羊羊
*/

第三种(父类成员变量)

package Demmon02.JiChu;

public class Zi extends Fu{
    //extends继承
     /*
       属性
          */
    //public int age=18;
    public String name="沸羊羊";
     /*
       方法
          */
    public void show(){
        //int age=17;局部
        System.out.println(age);
        System.out.println(name);
    }
}
/*输出结果为:66
            沸羊羊
*/

版权声明:本文为o676448原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。