1.final数据
基本类型
final的作用就是使变量的值保持不变。例如已经定义了 final int num = 1;之后再给num赋其他的值是不允许。
引用类型
final的作用也是使变量的值保持不变。因为引用类型变量存储的是数据的地址,一旦被初始化指向一个对象,就不能再指向其他对象,但是最开始指定的那个对象的内容是可以改变的。
例如。
注意:数组同理,它也是对象。
空白final
例如,final int num 或者 final Animal a 都是合法的。但是要确保空白final在使用前被初始化。
空白final使final的使用更加灵活。
final参数
java允许在参数列表中将参数指明为final。同理与上述“基本类型”和“引用类型”。
例如。
2.final方法
使用final方法的主要原因是把方法锁定,防止任何子类修改它的定义。也就是说final方法可以被子类继承但是不能被重写。
注意:所以这也是abstract关键字和final关键字不能共存的原因。因为abstract关键字要求子类重写父类方法,与final可以被子类继承但不能重写相矛盾。
3.final类
将某个类定义为final时,就表示不打算继承该类也不允许别人继承该类。
final类中的属性
final类中的属性可以根据判断是否定义为final。这种情况同理与非final类。
final类中的方法
因为final类禁止继承,所以final类中的方法会被隐式的指定为final。所以加不加final都可以。
欢迎指教,感谢。