Java 程序设计语言(第四版)读书笔记 第二章 类和对象

 第二章 类和对象

当读到第二章的时候,我禁不住赞一个!总体感觉这本书不如Core Java结构性强,却比Core Java更贴近实战,
比Thinking in Java更正宗。

下面总结两个Java中非常常用的关键字final和this:

final:书中第30页如此描述“final字段用来定义类或者对象的持久属性,这些属性将不随类或者对象的生命周期而变

化。”,毫不夸张的说,这是我看过的对final字段的最好描述。

final字段的初始化要求,“一旦类被初始化(对于static的final字段)或者类的对象被完全构造出来(对非static的

final字段),这些空白final字段就必须被初始化。”

字段是否为final由该类被设计用来实现的应用所具有的语义决定,可以从如下三个方面去考虑:
1.该字段表示的是否是对象的不变属性?
2.该字段的值在对象创建时是否总是可知的?
3.当对象被创建时,设置该字段的值是否实际并不可行?

关于实际设计示例请参考书中的例子。

一般final可用来修饰class,method,field,parameter,varable,

final修饰class,表示该类不允许集成,比如
public final class ForbidInherit{}
如果我们尝试着去继承ForbidInherit,就会产生编译时错误。
final和abstract不能同时修饰一个class.

final 修饰method,表示该方法拒绝继承。

final修饰的field,表示该field只能被赋值一次,可能是class或object级别的。
与static一起来修饰,则表示class级别的,否则为object级别的。

final修饰parameter的时候,属于声明该参数的方法的实现细节,它只会对该方法中的代码产生影响,
而不会影响调用该方法的代码。(见43页)
当方法中的匿名类要访问方法中的parameter或者varable,则被访问的parameter或varable必须声明为final.
(多线程的同步问题)

另外,final还涉及到并发性,对象序列化,以及克隆对象等相关内容。等读到相关部分,再补上相关的内容。


this用于下面三种情况
1.显式调用构造函数。
2.将当前对象的引用作为参数传递给其它方法。
3.将this放在本类的任何访问字段或方法的语句前面。特别是当举办变量或者参数隐藏了类的字段时,
要访问类的字段,则必须用this来修饰。

喜欢本章结尾时爱因斯坦的一句话“我们面临的重大问题无法再提出这些问题的思想层面来解决。”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值