关于JAVA中的final探索

    一提到java中的final就想到常量、不可变,当博主看到《Thinking in Java》中对final的讲解后有些领悟,现记录一下:java

    1)final数据对象

     一个永不改变的编译时常量,一个在运行时被初始化的值,而且不可改变,一个既是static又是fianl的域只占据一段不能改变的存储空间。注意对于对象的引用,final是指这个引用不可改变,而非改对象不可改变。继承

     2)空白final编译

    所谓空白final是指被声明为final但又没有初始值得域。java是容许声明的,可是该final在使用前必须被初始化。引用

    3)final参数方法

    Java容许在参数列表找那个声明参数为final形式,这也意味着你没法改变参数所引用的对象数据

    4)final方法static

    使用final方法是把方法锁定,防止任何继承类修改它,即该方法不会被覆盖。参数

    5)final和private

    类中全部的private方法都隐式的指定为final的(private方法没法被覆盖,因此private 添加final是多余的 )

    6)final类

    final类禁止继承,因此final类中全部的方法都隐式的指定为fianl的(没法覆盖它)。

相关文章
相关标签/搜索