先上代码说明
在src下新建一个包我命名为ch.bcn04
在包下新建Java文件父类Fruit,代码如下:
package ch.bcn04;
// 父类水果类
public class Fruit {
//父类成员变量
int price=20;
}
新建子类Apple,代码如下:
package ch.bcn04;
//子类,苹果继承Fruit
public class Apple extends Fruit {
// 子类成员变量
int price=10;
public void showPrice() {
int price = 5;
System.out.println(price);
}
}
新建Java文件Test,对成员变量进行测试:
package ch.bcn04;
public class Test {
public static void main(String[] args) {
// 测试子类继承父类,成员变量的使用
Apple apple=new Apple();
apple.showPrice();
}
}
打印结果为5:

第二种情况,子类方法里没有变量
package ch.bcn04;
//子类,苹果继承Fruit
public class Apple extends Fruit {
// 子类成员变量
int price=10;
public void showPrice() {
//int price = 5;注释掉
System.out.println(price);
}
}
结果打印的10

第三种情况,子类无成员变量:
package ch.bcn04;
//子类,苹果继承Fruit
public class Apple extends Fruit {
// 子类成员变量
// int price=10;注释掉
public void showPrice() {
// int price = 5;
System.out.println(price);
}
}
结果打印父类的成员变量,20:

总结:
java中使用变量的规则:“就近原则”
局部位置有就使用
无就去本类的成员位置去找,有酒使用
无就去父类的成员位置去找,有就使用
无报错。
本文通过代码示例探讨了Java中子类继承父类后变量的使用规则,即遵循“就近原则”。当在方法局部、子类成员或父类成员中有变量时,将依次从这些位置查找并使用变量,若都未找到则会引发错误。
1万+

被折叠的 条评论
为什么被折叠?



