final
final 可以修饰 属性 方法 类
final修饰的属性不能被改变
final修饰的方法不能被重写
final修饰的类不能被继承
修饰方法和类的作用很好理解,但是修饰属性,不太好理解啊。
属性有基本类型和非基本类型,在堆中存储的时候,基本类型是存储它的值的,对于非基本类型存储的是它的引用地址。
所以,对于基本类型变量用final修饰,就表示这个属性的值不能被改变了;
对于非基本类型变量用final修饰,就表示变量所指向的引用地址不能被改变,但所指向的引用地址中的具体的内容是可以被改变的。
被 fianl修饰的变量,必须在变量定义时或者构造函数中进行初始化。并且之后不能被修改。
也许会有遗憾,但是不应该在失败之前