再谈 public static final 关键字

我们看如下代码:

public class Demo {

	public static final int m=100;
	public final static int n=200;
	final static public int x=10;
	final public static int y=20;
	static final public int a=30;
	static public final int b=40;
	
}

以上代码通过编译,其中public、static、final这三个关键字可以按不同顺序进行定义常量,这是为什么呢?我们知道通过反射技术我们可以得到类中属性、方法、构造器等,通过java.lang.reflect.Modifier可以得到访问级别(也就是private static 等)的int值,而JVM在编译java代码时是根据其访问符的int值,只要其int值是个符合要求的值就OK,而不管其所在位置。

你可能感兴趣的:(java)