final

作者: 以梦为马驾驾驾 | 来源:发表于2018-12-19 11:53 被阅读0次

    final 作为关键字,可以作用于类,方法,数据域:

    作用于类

    此类不可被继承,类中方法默认是final。
    

    作用于方法

    此方法不可被重载,不可被重写,可以被继承。
    但是不可作用于构造方法。
    private 方法隐式为final方法
    

    作用于变量:

    1. 申明后使用前,必须赋值
    2. 不可更改具体分为两种 :引用类型和基本类型,前者是指不可更改指向所以申明时候不可赋值null,可以留空,
       但是可以更改具体所指向对象的数据状态,后者仅仅可以被赋值一次,一旦赋值不可更改 。
    3. 成员变量,通常是类的成员变量,必须在定义时或者构造器中进行初始化赋值,而且final变量一旦被初始化赋值之后,就不能再被赋值了  。如若类定义时的申明未赋值,那么实例化对象的时候最好赋值,不然不能保证在使用前它一定被赋值过。    
    4. 参数变量,方法的参数变量,final Object i,i不可转移自己的指向到其他对象,基本类型 final int j ;j++ 错误。
    5. 局部变量,在需要的时候赋值。
    6. final变量会被编译器当成编译常量,相当于直接访问的这个常量,不需要在运行时确定,final String s = "h"(必须是明确赋值的,即编译器就知道的,如果是一个返回string的方法则还是运行时) ; String a = "h";s == a ;false!
    

    相关文章

      网友评论

          本文标题:final

          本文链接:https://www.haomeiwen.com/subject/uwrdnxtx.html