1. final
=> 변수를 상수화 함
=> 값을 선언과 동시에 초기화 하거나 생성자에서 초기화 할 수 있다.
ex> MyCircle객체를 생성하고 원의 넓이를 구해 보세요.
class MyCircle
{
//반지름
private double r;
//원의 넓이
private double area;
//PI를 상수로 만듦
private final double PI=3.141592;
public MyCircle(double r)
{
//PI=3.141592;
// =>오류발생 (The final field MyCircle.PI cannot be assigned)
this.r=r;
}
public void getArea()
{
area=r*r*PI;
}
public void print()
{
//PI=4.55555;
// =>오류발생 (The final field MyCircle.PI cannot be assigned)
System.out.println("PI:"+PI);
System.out.println("반지름이 " + r +"인 원의 넓이:"+area);
}
}
class Test03_final
{
public static void main(String[] args)
{
MyCircle mc=new MyCircle(10.4);
mc.getArea();
mc.print();
}
}
변수를 초기화하지 않으면 생성자에서 초기화 해야 한다.
...
private final double PI;
...
public MyCircle(double r)
{
PI=3.141592;
// 초기화를 해야 한다. 하지 않으면 오류발생 (The blank final field PI may not have been initialized)
this.r=r;
}
...
'JAVA' 카테고리의 다른 글
객체배열 (0) | 2014.09.12 |
---|---|
static (0) | 2014.09.12 |
Overloading (0) | 2014.09.12 |
클래스( class ) (0) | 2014.09.12 |
배열( array ) (0) | 2014.09.12 |