Java中public static final与public final static的区别及正确使用指南
实际使用中有时写成public static final,有时写成public final static。

其实它们都代表共享静态常量,完全一样,没有什么区别。
我们推荐的写法是public static final。
static的意思是“全局”或“静态”,用于修改成员变量和成员方法。也可以组成静态代码块,但是Java语言中没有全局变量的概念。
这句话的意思是你会使用static来修改一些变量、方法、方法块等,这就是你使用static的地方; “但是,Java中没有全局变量的概念。”这句话怎么理解呢?
我们必须永远记住Java是一种面向对象的语言。一切都是对象。无论做什么,都需要创建一个对象,然后调用这个对象的方法。 Java怎么能允许存在一个全世界通用的“全局变量”呢? “‘’这个概念存在吗?
所以Java中不存在所谓的“全局变量”,但是没有这个概念,并不代表你不能实现这个功能,所以static xxx就可以实现全局变量的功能,所以现在你应该能明白了
静态成员变量和用public修饰的成员方法本质上都是全局变量和全局方法。当声明其类的对象时,不会生成静态变量的副本,但该类的所有实例共享相同的静态变量。