static 和final 的区别总结
static关键字作用
在没有创建对象的情况下来调用方法/变量
static修饰的方法或变量不需要依赖对象进行访问,只要类被加载了就可以
使用类名+“.” 可以调用该类中的static方法和变量
static代码片实现效率提升
使用static代码片可以实现对变量的一次初始化,提升效率
class Person{
private Date birthDate;
private static Date startDate,endDate;
static{
startDate = Date.valueOf("1946");
endDate = Date.valueOf("1964");
}
public Person(Date birthDate) {
this.birthDate = birthDate;
}
boolean isBornBoomer() {
return birthDate.compareTo(startDate)>=0 && birthDate.compareTo(endDate) < 0;
}
}
final作用
用final修饰变量表示值不可改变
修饰方法表示方法不可被继承和重写
修饰类表示不可以被继承
final stati含义
表示 static修饰的属性强调它们只有一个,final修饰的属性表明是一个常数(创建后不能被修改)。static final修饰的属性表示一旦给值,就不可修改,并且可以通过类名访问。