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

+ Recent posts