您的位置:首页 > 编程语言 > Java开发

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

2006-12-26 15:13 281 查看
第二章 类和对象

当读到第二章的时候,我禁不住赞一个!总体感觉这本书不如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来修饰。

喜欢本章结尾时爱因斯坦的一句话“我们面临的重大问题无法再提出这些问题的思想层面来解决。”
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: