반응형
    
    
    
  final 변수
package org.opentutorials.javatutorials.fanalTest;
class Calculator {
	static final double PI = 3.14;
	int left, right;
	
	public void setOperands(int left, int right) {
		this.left = left;
		this.right = right;
		Calculator.PI = 6; //error
	}
	
	public void sum() {
		System.out.println(this.left + this.right);
	}
	
	public void avg() {
		System.out.println((this.left + this.right)/2);
	}
}
public class CalculatorDemo {
	public static void main(String[] args) {
		Calculator c1 = new Calculator();
		c1.setOperands(10, 20);
		c1.sum();
		c1.avg();
	}
}final 로 정의 된 값을 변경하려면 에러가 난다.
final 메소드
package org.opentutorials.javatutorials.finals;
 
class A{
    final void b(){}
}
class B extends A{
    void b(){}
}에러 난다.
final 메소드를 오버라이딩 할 수 없다.
final 클래스
package org.opentutorials.javatutorials.finals;
 
final class C{
    final void b(){}
}
class D extends C{}에러난다.
final 메소드, final 클래스는 상속 할 수없다.
반응형
    
    
    
  'Java' 카테고리의 다른 글
| [Java] 접근 제어 지정자 (0) | 2023.11.26 | 
|---|---|
| [Java] Interface (0) | 2021.03.14 | 
| [Java] abstract (0) | 2021.03.14 | 
| [Java] 클래스 접근 제어자 (0) | 2021.03.14 | 
| [Java] 메서드 접근 제어자 (0) | 2021.03.13 | 
 
									
								 
									
								