하위 클래스 대상을 가리키는 부모 클래스 인용 (위로 전환)

7927 단어 java 기초
부류 1의private 변수와 방법을 주의하십시오. 부류 자체의 대상은 직접 호출할 수 없습니다. 자연히 부류 대상을 가리키는 부류 인용도 부류 중의private 변수와 방법에 접근할 수 없습니다.
부류를 확장하는 변수와 방법을 주의하십시오. 이 인용은 호출할 수 없습니다.
public class Point {
    private int x;
    private final int y;

    public Point(int x,int y) {
        this.x= x;
        this.y= y;
    }
}

Point는 부모 클래스로 하위 클래스를 실현합니다.
public class ColorPoint extends Point{
    public int color;

    public ColorPoint(int x, int y,int color) {
        super(x, y);
        // TODO Auto-generated constructor stub
        this.color = color;
    }

    public int getColor() {
        return color;
    }   

}

ColorPoint의 color와 getColor() 방법은 부모 Point를 확장합니다.그리하여
Point cp = new ColorPoint(3,4,5);

cp는 getColor () 와color에 접근할 수 없습니다.
주의점 3은 하위 클래스의 대상을 가리키는 부모 클래스 인용은 하위 클래스에서만 호출됩니다.하위 클래스가 부모 클래스를 덮어쓰는 방법이 있다면, 이 인용은 덮어쓰는 방법만 얻을 수 있습니다.하위 클래스가 계승되어 덮어쓰지 않는 방법은 이미 하위 클래스가 가지고 있으며 이 인용은 직접 호출됩니다.
public class Point {
    public int x;
    public int y;

    public Point(int x,int y) {
        this.x= x;
        this.y= y;
    }

    public void method() {
        System.out.println(" ");
    }

    public void method1() {
        System.out.println(" ");
    }

}

부모 클래스 method () 방법으로 이불 클래스를 덮어씁니다.
public class ColorPoint extends Point{
    public int color;
    public int x;

    public ColorPoint(int x, int y,int color) {
        super(x, y);
        // TODO Auto-generated constructor stub
        this.color = color;
    }


    @Override
    public void method() {
        System.out.println(" ");
    }

}

마지막으로 인쇄 출력
Point cp1 = new ColorPoint(4,8,9);
cp1.method();
cp1.method1();

// 
// class com.kdk.java.ColorPoint
// class com.kdk.java.ColorPoint

주의점 4는 상향 변환 중 하위 클래스가 부모 클래스의 정의와 같은 변수를 가지고 있을 때 이 변수를 계승할 수 없습니다.이 정의가 같은 변수가 하위 클래스 대상에 있는 값을 얻으려면 get () 방법을 통해 통과해야 합니다.의 방식은 이 정의와 같은 변수가 부류에 있는 값을 얻는 것이다.
public class Point {
    public int x;
    public int y;

    public Point(int x,int y) {
        this.x= x;
        this.y= y;
    }

    public int getY() {
        return y;
    }
}

public class ColorPoint extends Point{
    public int color;
    public int x = 8;
    public int y = 9;

    public ColorPoint(int x, int y,int color) {
        super(x, y);
        // TODO Auto-generated constructor stub
        this.color = color;
    }

    public int getY() {
        return y;
    }
}


public class Main {
    public static void main(String[] args) { 
        Point cp = new ColorPoint(3,4,5);

        System.out.println(cp.x+"");// 3
        System.out.println(cp.y);// 4
        System.out.println(cp.getY()+"");// 9
    }
}


미완성, 미완성...

좋은 웹페이지 즐겨찾기