Persion.java
package kr.co.kihd.finalconstant;
public class Persion {
/*
* final 초기화 방법 상수 초기화
* 1.선언과 동시에 초기화
* 2.생성자에서 단 한번 초기화
*/
final String NATION = "KOREA";
final int age;
/*
* static final ~ : 불변의 정적 상수
* 무조건 선언과 동시에 초기화가 반드시 되어야함.
* 공용데이터로 사용되어짐.
* 클래스별로 관리되어짐. (인스턴스별 X)
*/
static final int MAX_NUMBER = 1000;
public Persion(int age) {
this.age = age;
}
@Override
public String toString() {
return "nation : " + this.NATION+
", age : " + this.age;
}
}
PersionTest.java
package kr.co.kihd.finalconstant;
public class PersionTest {
public static void main(String[] args) {
Persion persion = new Persion(50);
//final 속성은 상수이므로 값을 변경 절대 못함.
//persion.NATION = "USA"; //The final field Persion.NATION cannot be assigned
//persion.age = 60; //불가함 확인
System.out.println(persion);
System.out.println(Persion.MAX_NUMBER);
Persion person1 = new Persion(150);
Persion person2 = new Persion(250);
System.out.println(persion);
System.out.println(person1);
System.out.println(person2);
System.out.println(persion.age);
System.out.println(person1.age);
System.out.println(person2.age);
}
}