• Java:final关键字


    首发日期:2018-03-24


    final关键字:

    • final的作用:相当于使修饰的变量、方法或类“固定、最终化”,使得修饰的变量、方法、类不能再做改变【可以限制继承的重写】。
    • final可以修饰类、方法、变量。
    • final修饰的类不可以被继承。
    • final修饰的方法不可以被覆盖(重写)image
    • final修饰的变量是一个常量,final修饰的变量必须显式初始化,并且只能初始化一次。【初始化手段可以是直接声明并赋值,也可以在初始化代码块中或构造函数中赋值,或者形式参数传参】
    • final不能跟abstract interface等共存,因为final修饰的类不能被继承、重写
    • final修饰引用变量:可以修改内部数据,但不能修改指向的对象

    补充:

    内部类如果要使用局部变量,只能访问被final修饰的局部变量:

    局部变量的生命周期与内部类不同,当局部变量被final修饰的时候,这个被final修饰的变量就变成了内部类中的数据成员

    (Java采用了一种copy   local   variable(复制局部变量)的方式来实现, 也就是说把定义为final的局部变量拷贝过来用,而引用的也可以拿过来用,只是不能重新赋值。从而造成了可以access   local   variable(访问局部变量)的假象,而这个时候由于不能重新赋值, 所以一般不会造成不可预料的事情发生。)image_5ab533d8_4c16


  • 相关阅读:
    基础DP(初级版)
    UVA-816.Abbott's Tevenge (BFS + 打印路径)
    1044: 数圈
    1049: 打牌
    1047: 小A的计算器
    1046: 最小的K个数
    1045: 愚人节的礼物
    1044: 数圈
    1043: 绩点计算
    1042: 小丑排序
  • 原文地址:https://www.cnblogs.com/progor/p/8642200.html
Copyright © 2020-2023  润新知