美文网首页
final 关键字

final 关键字

作者: LittleHans | 来源:发表于2016-04-12 22:53 被阅读15次

    P140

    final 可能用到的三种情况:数据,方法和类
    final 可以先定义了后,然后再构造函数中初始化

    final 数据

    • 使用原因
      1.一个永不改变的编译时常量
      2.一个在运行时被初始化的值,而你不希望它被改变

    一个既是 static 又是 final 的域只占据一段不能改变的存储空间

    • 易混点:
      final 基本数据类型
      final 对象

    final 基本数据类型,指的是数值不变,如 final int d= 1;,那么 d 这个变量变量就不能再给它赋其他值,错误:d=2;

    final 对象引用,指的是引用的对象不变,如 final Value v = new Value(1);
    v1.i++,可以对 Value 对象的成员变量进行修改,但重新为v赋值一个新的对象是错误的 v = new Value(2)

    final 方法

    • 使用原因
      1.要把方法锁定,以防任何继承类修改它的含义,这样在子类继承父类时,该方法的行为将保持不变,并且不会被覆盖
      2.效率 (早期建议的做法)

    • final 和 private 关键字
      1.类中所有的 private 都隐式地指定为是 final
      即平时定义的 private type function(){} 实际上是 private final type function(){}

    • final 参数
      将参数列表的参数声明为 final ,意味着你无法在方法中更改参数引用所指向的对象。这点跟 final 对象引用相似。这一特性主要用来向匿名内部类传递数据

    final 类

    • 原因
      该类不能被继承,即该类没有子类,这样类中的所有方法都默认隐式指定为 final

    相关文章

      网友评论

          本文标题:final 关键字

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