public static final :全局常量
static是为了让其成为类的成员,而不是对象的成员,这样用起来就方便了
public是为了方便访问
final则是表明这是个常量,不能修改
private的对象,然后定义get、set是为了访问控制,是一种常规的封装
综上,public static final可以让访问变得很方便,而且不会被修改。一般可以放配置信息,还有一些状态码的定义。
public final static 和 public static final 都表示共有的静态常量,完全一样,没有不同。
推荐写法是public static final。
----------------------------------
题外话:
在接口中定义一个常量,就算是不定义成public static final,其实编译器也帮你加好了。
你在接口中定义一个
String a = "hehe";
他的字体已经被编译器认为是常量了。
final可以用在类、方法、变量上。
1、final用在类上,表明当前类它不能被继承,没有子类。
2、final用在方法上,表明当前方法不能被override,不能被重写。
3、final用在变量上,表明当前变量是一个终态的变量,是一个常量,这个变量的值一但被赋值后就不能被改变了。
对于final类型的成员变量的初始化方式:
1、声明变量时直接赋值
2、在构造方法中完成赋值,如果一个类有多个构造方法,就要保证在每个构造方法中都要完成对该final类型变量的初始化工作。
对于final类型的变量,对于不加static我们可以有两种方式给它赋值:声明变量时直接赋值;在构造方法中完成赋值,如果一个类有多个构造方法,就要保证在每个构造方法中都要完成对该final类型变量的初始化工作。对于一个变量既是final又是static的,我们必须在声明变量时直接赋值。