【java】finalのポイントとstatic finalの違い


1.通常finalによって宣言される値は定数
2.finalは配列を修飾できる
3.finalとして定義されたオブジェクト参照は、一意のオブジェクトのみを指すことができ、他のオブジェクトを指すことはできませんが、オブジェクトの値は変更できます.
4.定数を本当に変更できないようにstatic finalキーワードを使用する必要があります
5.変数がstatic finalとして宣言されると、メモリに一定の領域が開きます.
次に例を示します.
<span style="color:#000000;">package tongji.edu.com;

import java.util.Random;
import java.util.zip.Adler32;

public class  Main
{
	static Random random = new Random();
	final int a1 = random.nextInt(10);
	static final int a2 = random.nextInt(10);
	
	public static void main(String[] args) {
		Main m = new Main();
		System.out.println(m.a1);
		System.out.println(m.a2);
		Main m1  = new Main(); //      
		System.out.println(m1.a1);
		System.out.println(m1.a2);
	}
}</span>

結果:
<span style="color:#000000;">9
3
0
3</span>

static finalと宣言されたa 2は依然として変化していないが,a 1が再インスタンス化された後は9から変化することが分かった.
0のために
したがって、一般的にグローバル変数を宣言する場合はstatic finalを使用して宣言します.