super() 조상의 생성자
- 조상의 생성자를 호출할 때 사용( 자신의 생성자는 this( ) )
(상속을 받더라도 조상의 생성자,초기화블럭은 상속이 안된다.)- 조상의 멤버는 조상의 생성자를 호출해서 초기화
class Point5{
int x,y;
Point5(){}
Point5(int x,int y){
this.x = x;
this.y = y;
}
}
/*
class Point3D5 extends Point5{
int z;
Point3D5(int x,int y,int z){
this.x = x;//조상의 멤버를 초기화
this.y = y;//조상의 멤버를 초기화
this.z = z;
}
}
*///위처럼 하면 안된다. 자식의 생성자는 자신이 선언한 것만 초기화해야 한다.
class Point3D5 extends Point5{
int z;
Point3D5(int x,int y,int z){
super(x,y);//조상클래스의 생성자 Point5(int x,int y)를 호출
this.z = z;//자신의 멤버를 초기화
}
}