1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
public class PointTest2 {
    public static void main(String [] args){
        Point3D p3 = new Point3D();
        System.out.println("p3.x="+p3.x);
        System.out.println("p3.y="+p3.y);
        System.out.println("p3.z="+p3.z);
    }
}
 
class Point{
    int x=10;
    int y=20;
    
    Point(int x, int y){
        this.x=x;
        this.y=y;
    }
}
 
class Point3D extends Point{
    int z=30;
    
    Point3D(){
        this(100,200,300);
    }
    
    Point3D(int x, int y, int z){
        super(x,y);
        this.z=z;
    }
}





4번 줄에서 참조변수 p3를 생성하며  Point3D 클래스를 불러온다.

22번줄의 int z가 생성되며 z=30 을 실행


24번줄의 this(100,200,300) 값을 넣어 인자값으로 사용한다.

28번줄은 받은 인자값을 가지고 수행하며


29번줄 super(x,y)에서 x=100, y=200이라는 값이 전달되어 11번줄 Point클래스

11번줄의 int x가 생성되고 x=10 int y가 생성되고 y=20 


15번줄 Point(int x, int y) 받은 인자값 100, 200을 받는다

16~17 this.x=100  this.y=200;


다시 29번줄로 돌아가며 30번줄 수행

this.z=z; 여기서 우측에 있는 z는 300이라는 인자값을 전달받은상태


30번줄의 수행이 끝난 상태에서의 x, y, z의 값들은 100, 200, 300과 같다.



'Study > JAVA' 카테고리의 다른 글

추상클래스 abstract  (0) 2014.10.10
다형성 (1)  (0) 2014.10.10
이클립스 폰트설정  (0) 2014.10.01
eclipse 설치부터 실행  (0) 2014.10.01
Java Scanner (C의 scanf)  (0) 2014.09.29
Posted by 차희빈

차희빈

달력