final


final


抽象が強制継承であればfinalは継承/変更を禁止する規定である.

finalフィールド

package com.yuri.javatutorials.finals;

class Calculator {
	static final double PI = 3.14;
	int left, right;

	public void setOprands(int left, int right) {
		this.left = left;
		this.right = right;
//		 Calculator.PI = 6.2;
	}

	public void sum() {
		System.out.println(this.left + this.right);
	}

	public void avg() {
		System.out.println((this.left + this.right) / 2);
	}
}

public class CalculatorDemo1 {

	public static void main(String[] args) {

		Calculator c1 = new Calculator();
		System.out.println(c1.PI);
//		 Calculator.PI = 10;

	}

}
すなわち,変数の前にfinalがある.10行と28行の計算機もありますクラス変数PIの値をPIで変更しようとしていますが、Javaでは許可されていません.最終的に指定した変数に値を割り当てると、その値は変更できません.
定数が不変の値であることを学んだことを覚えています.次に、上記のPIの例は不変の値です.これらの値は、変数の前にfinalを加えることで、これらの値の変化を制御することができる.これらの特徴はクラス変数の例ですが、インスタンス変数にも適用されます.

最終メソッド

class A{
    final void b(){}
}
class B extends A{
    void b(){}
}
finalメソッドの使用頻度はfinal変数ほど高くありません.次のコードはfinalメソッドbを継承しようとするのでエラーが発生します.
この文章は生活コードに基づくjavaチュートリアルのまとめです.