package ch07;
public class Ch0703 extends Father
{
//father.java에서 final.. 사용시..
//class에 사용될 경우 : 하위클래스를 가질 수 없다.
//멤버함수에 사용할 경우 : 하위클래스에서 오버라이딩 불가.
//멤버/로컬변수 사용시 : 값을 변경 허락하지 않겠다는 의미.
//(완벽하지 않은상수 : new .. new.. 같지 않음 -> 해결방법 : static붙여서사용)
//public int a;
public final int a = 100;
//상수의 형태를 취하려면 아래와 같이 static을 붙이면
//인스턴스에 관계없이 참조가능한 상수가 된다.
public final static double pi=3.14;
public void work()
{
// TODO 자동 생성된 메소드 스텁
super.work();
//a=100; //public final int a = 100; 로 변경되지 안음
}
}
****** Father.java ******
package ch07;
public /* final */ class Father //final 상속시키지 않겠다고 명시한것.
{
public /* final */ void work() // final 하위클래스에서 오버라이딩 허용안함.
{
System.out.println("아버지께서 일하셔"); //상속과 클래스 레퍼런스 관계 위해...
}
}