Java编程思想之final关键字的深入解析

   最近一直在准备面试,对新的知识的学习也慢了下来,主要是巩固Java基础知识。今天看了String、StringBuffer、StringBuilder,被其中的一些概念搞的晕头转向,比如什么可变类、不可变类、线程安全、线程不安全,看了网上的一些解释,都觉得不太满意,只能查阅专业的书籍,大名鼎鼎的《Java编程思想》。

   以前刚入门Java的时候,也听过《Java编程思想》,可以说是Java编程的圣经,但当时只是泛泛而读,作为刚入门的菜鸟,对其中的思想还是不甚了解,甚至读不下去(太厚了)。但深入学习Java后才知道自己的水平低的可怜,当我再次吹去该书的灰尘,重新捧起这本书时,真是觉得受益匪浅啊!也趁着准备面试这一阶段,温故而知新,基础真的很重要啊!废话不多说,马上转入正题。(以下部分摘自Java编程思想)

1.final修饰数据:

a.当数据是基本数据类型时,表明该数据是一个编译时常量,定义是必须赋上初始值。比如:final int a=1;

b.当数据是引用类型(即对象)时,一旦引用被初始化指向一个对象,就无法再把它改为指向另一个对象,然而,这个引用所指向的对象自身确实可以被修改的。

2.final修饰方法:明确禁止子类覆盖父类的final方法,如果子类覆盖了父类的final方法,会出现编译时异常。

3.final修饰类:明确禁止该类不可被继承,注意:final修饰的类里面的数据和方法不一定是final的,其规则适用于1和2。

总结完了final的用法,我才知道原来final类和不可变类是两回事,以前总以为他们两是一样的。不知你搞清了没有?







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值