public class Ex16 {
// 상수 : 변하지 않는 값
int i = 10;
final int i1 = 10; // 상수
public void setValue(int i) {
this.i = i;
// this.i1 = i1; // final 키워드를 가지고 있으면 값을 변경하지 못한다.
}
public void print() {
System.out.println(i);
System.out.println(i1);
}
}
public class Ex16Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Ex16 ex = new Ex16();
ex.setValue(40);
ex.print();
}
}
- 상수에 초기 값이 없는 경우에는 생성자나 static 블럭을 이용해서 초기화를 할 수 있다.
- static 블럭을 이용
public class Ex17 {
static final double pi;
static final String national;
int val;
static {
pi = 3.141592;
national = "korea";
}
public void print() {
System.out.println(pi);
System.out.println(national);
}
}
public class Ex17Test {
public static void main(String[] args) {
// TODO Auto-generated method stub
Ex17 ex = new Ex17();
ex.print();
}
}
- 생성자 이용
public class Ex18 {
final double pi;
final String national;
int val;
public Ex18(double pi, String national) {
this.pi = pi;
this.national = national;
}
public void print() {
System.out.println(pi);
System.out.println(national);
}
}