先上代码说明
在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中使用变量的规则:“就近原则”
局部位置有就使用
无就去本类的成员位置去找,有酒使用
无就去父类的成员位置去找,有就使用
无报错。