/ *
멤버 변수들 사이의 부모 - 자식 클래스 상속 관계가 같은 이름, 자식 클래스 객체가 생성 된 경우 때, 두 가지 방법으로 액세스 :
직접 서브 클래스 객체에 의해 멤버 변수에 액세스 :
등호의 왼쪽은 우선 사용을 찾고되지 않는 사람을 것입니다.
멤버 변수 방법의 구성원 간접 액세스 :
이 방법은 누구를 찾고되지 않은 사람과 우선 순위에 속하는.
* /
public class Demo01ExtendsField {
public static void main(String[] args) {
Fu fu = new Fu(); // 创建父类对象
System.out.println(fu.numFu); // 只能使用父类的东西,没有任何子类内容
System.out.println("===========");
Zi zi = new Zi();
System.out.println(zi.numFu); // 10
System.out.println(zi.numZi); // 20
System.out.println("===========");
// 等号左边是谁,就优先用谁
System.out.println(zi.num); // 优先子类,200
// System.out.println(zi.abc); // 到处都没有,编译报错!
System.out.println("===========");
// 这个方法是子类的,优先用子类的,没有再向上找
zi.methodZi(); // 200
// 这个方法是在父类当中定义的,
zi.methodFu(); // 100
}
}
public class Fu {
int numFu = 10;
int num = 100;
public void methodFu() {
// 使用的是本类当中的,不会向下找子类的
System.out.println(num);
}
}
public class Zi extends Fu{
int numZi = 20;
int num = 200;
public void methodZi() {
// 因为本类当中有num,所以这里用的是本类的num
System.out.println(num);
}
}