final关键字


目录

关键字final

javafinal关键字在不同的场景下,有不用的用法,但是都是表达相同的意思即不能被改变。接下来,详细的讲解final修饰datamethodsclass的用法。

final修饰data

javafinal修饰的数据分为compile-time constantrun-time constant

public class Final {
    private final int a = 1;    //compile-time constant
    private final int b = rand.nextInt(20);    //run-time constant
   
    public void test(){
        a = 3;    //Error: compile-time constant
        b = 4;    //Error: run-time constant
    }
}

final修饰blank,final修饰的数据如果在定义时没有给定初值,必须在构造方法中给定初值,这样就能保证在使用对象时,fianl修饰的数据已经有初值,并且不会改变。

public class BlankFinal{
    private final int j; // Blank final
    private final String s // Blank final reference
    
    public BlankFinal(){
        j = 1;
        p = new String();
    }
}

final修饰参数
final修饰的primitives以及reference参数在函数的内部不允许被修改。

final修饰method

final修饰method从设计和性能两方面考虑;从设计上考虑,为了确保一个 method的功能不会被子类修改,可以使用final修饰,子类不能覆盖final修饰的method;从功能上考虑,final修饰的method会被当成inline calls

final修饰class

final修饰的class不能再被继承

优质内容筛选与推荐>>
1、iOS-UITableView详解(一)
2、如何自己动手制作一个靠谱的PM2.5检测仪
3、RPG设计(角色技能与Strategy模式)
4、Oracle数据库设置为归档模式的操作方法
5、【AI核心技术】课程十五:序列场景分析


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn