예제)
public class Test5 {
public static void main(String[] args) {
System.out.println(Ex5.x);
// Ex5.x=20; //final이므로 오류
// System.out.println(Ex5.y); 인스턴스변수임. static이 붙지 않은 변수이므로 바로 사용불가. 사용하려면 객체 생성하여야 한다.(8,9번줄)
Ex5 ob=new Ex5();
System.out.println(ob.y);
// ob.y=90; // final 변수라 2번째 초기화 불가능.
ob.write();
}
}
// final class : 하위 클래스(자식)를 가질 수 없다. => 대표적인 final 클래스 : String 클래스
final class Ex5{
public static final int x=10; //final변수 : 한번만 초기화가 가능하고 값을 변경 할 수 없다.
public final int y;
public Ex5() {
y=20; // 단 한번만 초기화 가능
}
public final void write(){ //final 메소드 : 메소드를 override(재정의) 할 수 없다.
System.out.println("x:"+x+",y:"+y);
}
}
결과)
10
20
x:10,y:20
'자바 > 객체지향' 카테고리의 다른 글
static 키워드 (0) | 2013.05.21 |
---|---|
업캐스팅 다운캐스팅 (0) | 2013.05.19 |
재정의(override), 중복정의(overloading) (0) | 2013.05.19 |
자바의 상속 (0) | 2013.05.19 |
Method 메서드 (0) | 2013.05.14 |