본문 바로가기

JAVA/DAY 15 _ 23.09.06

Final

package p4;

public class Main_example {

	public static void main(String[] args) {

		BBB b1 = new BBB(10);		// 출력 : AAA의 기본 생성자, BBB의 int생성자
						// 부모클래스의 기본생성자가 딸려온다!
		
		// if) super로 정의해주게되면 AAA의 int생성자, BBB의 int생성자가 출력된다.
	}

}
/*final*/ class AAA{						
// class에도 final을 붙일 수 있다
// --> 이렇게되면 AAA는 누구에게도 상속해주지 못하는 클래스가 되는거임
// --> 나는 안쓸걸....
	
	int v1;
	int v2;
	
	
	AAA(){			
		// 부모클래스의 기본 생성자는 없으면 안돼! 상속받는애가 생성자를 못만든다구
		System.out.println("AAA의 기본 생성자");
	}
	
	AAA(int v1){
		
		this.v1 = v1;
		System.out.println("AAA의 int생성자");
	}
}


class BBB extends AAA{
	
	int v2;
	int v3;
	
	BBB(){
		System.out.println("BBB의 기본생성자");
	}
	
	BBB(int v3){
		
		// super(10);		--> AAA(int v1) 생성자에 10을 넣겠다.
		this.v3 = v3;
		System.out.println("BBB의 int생성자");
	}

}
package p5;

public class Main_final {

	public static void main(String[] args) {

		String a = "안녕하세요";
	}

}

// class AAA extends String{}

// --> String 클래스에 final 붙어있어서 안됨 (누군가가만든 클래스자너~)

'JAVA > DAY 15 _ 23.09.06' 카테고리의 다른 글

TypeCasting  (0) 2023.09.12
Polymorphism  (1) 2023.09.12
Basic  (0) 2023.09.12
Super  (0) 2023.09.12
Interface Basic  (0) 2023.09.12