자바 학습 - 상속 된 특성의 액세스 멤버 변수

/ *
멤버 변수들 사이의 부모 - 자식 클래스 상속 관계가 같은 이름, 자식 클래스 객체가 생성 된 경우 때, 두 가지 방법으로 액세스 :

직접 서브 클래스 객체에 의해 멤버 변수에 액세스 :
등호의 왼쪽은 우선 사용을 찾고되지 않는 사람을 것입니다.
멤버 변수 방법의 구성원 간접 액세스 :
이 방법은 누구를 찾고되지 않은 사람과 우선 순위에 속하는.
* /

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);
    }
}

게시 23 개 원래 기사 · 원의 칭찬 0 · 조회수 (141)

추천

출처blog.csdn.net/qq_44813352/article/details/104327855