Java 프로그래밍 사상 - 구조 함수 재부팅

1733 단어
구조 함수의 재부팅
클래스의 대상을 만들 때 초기화 작업을 진행하면 대상 속성에 초기값을 부여할 수 있을 뿐만 아니라 대상 초기화 과정에서 필요한 검사와 처리를 할 수 있다.
한 개의 찾기 함수가 다른 찾기 함수를 호출해야 할 때 키워드this를 사용해야 한다. 이 호출 문장은 전체 찾기 함수의 첫 번째 실행 가능한 문장이어야 한다.
자류와 부류 구조 함수의 관계
자류는 부류의 구조 함수를 계승하지 않는다
1, 하위 클래스가 구조 함수를 정의하지 않으면 하위 클래스의 대상을 만들 때 하위 클래스에 파라미터가 없는 구조 함수를 호출합니다
2. 만약에 서브클래스가 자체적으로 구조 함수를 정의한다면 서브클래스 대상을 만들 때 시스템은 먼저 부류에 파라미터가 없는 구조 함수를 집행한 다음에 서브클래스 자체의 구조 함수를 집행한다
3, 하위 클래스가 스스로 정의한 구조 함수에서 슈퍼 키워드를 이용하여 부모 클래스의 구조 함수를 현저하게 호출하면 시스템은 더 이상 부모 클래스의 무변수 구조 함수를 호출하지 않는다
예.
package TEST2;
class Employee{
	float salary;
	Employee(){
			System.out.println(" Employee()");
	}
	Employee(float sal){
		System.out.println(" Employee(sal)");
	}
}
class Manager1 extends Employee{
	float allowance;
}
class Manager2 extends Employee{
	float allowance;
	Manager2(){
		System.out.println(" Manager2()");
	}
	Manager2(float sal){
		super(sal);
		System.out.println(" Manager2(sal)");
	}
	Manager2(float sal,float aa){
		System.out.println(" Manager2(sal,sa)");
	}
}
public class TestCons {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("-- --");
		Manager1 mgr1=new Manager1();
		System.out.println("-- ( )--");
		Manager2 mgr2_1=new Manager2();
		System.out.println("-- (1 ), --");
		Manager2 mgr2_2=new Manager2(3000);
		System.out.println("-- ( )--");
		Manager2 mgr2_3=new Manager2(3000f,500f);
	}

}

결실
-- --
 Employee()
-- ( )--
 Employee()
 Manager2()
-- (1 ), --
 Employee(sal)
 Manager2(sal)
-- ( )--
 Employee()
 Manager2(sal,sa)

좋은 웹페이지 즐겨찾기