下面要继续给大家讲到的就是java final修饰符方面的知识,主要是java final修饰符使用总的一些总结,以及一些final修饰类方面的一些知识。
java final修饰符使用总结
首先我们来看一下总结。
1、final修饰类中的变量
表示这个变量只要是被初始化了那么就不能够改变,这里的不能够改变的意思对基本类型变量来说是其值不可变,而对对象引用类型变量来说其引用不可再变。
其初始化可以在两个地方:
(1)其定义处,也就是说在final变量定义时直接给其赋值;
(2)构造方法中;
这两个地方只能选二选一,要么在定义的时候给值,要么在构造方法当中给值,不可以同时既在定义时赋值,又在构造方法中赋予另外的值。
2、final修饰类当中的方法
表示,这样的方法提供的功能已经满足当前要求,不需要再进行扩展了,并且也不允许任何从这个类继承的类来重写这种方法,但是继承依旧能够继承这个方法,也就是表示能够直接使用。
3、final修饰类
表示这个类是不能够被任何的其他类继承的,也就是意味着这个类在一个继承树当中是一个叶子类,并且,这个类的设计已经被认为非常的完美不需要再进行修改或者是扩展了。
对于final类当中的成员,可以定义其为final,也可以不是final。
而对于方法,因为所属类是final的关系,所以的话也就成了final型。也能够明确的给final类当中的方法加上一个final,这显然是没有意义。
final修饰类
再来具体的讲一下final修饰类。
final修饰的类不能够被继承。
final class SuperClass {} class SubClass extends SuperClass { //编译错误}
在子类继承父类的时候,就可以访问到父类内部数据,并且能够通过重写父类方法来改变父类方法的实现细节,这可能导致一些不安全的因素。
为了保证某个类不可被继承,那么能够使用final修饰这个类。
以上的知识你都清楚了吗?请继续关注奇Q工具网吧,更多java基础知识,可以为你分享。
推荐阅读: