第2章
用reference操控对象
数据存储的六个地方:
寄存器(registers):jvm控制。
栈(stack):存放原始数据类型的值和对象的引用。
堆(heap):用new产生的数据和对象。
静态存储(static storage):存放对象中static定义的静态成员。
固定存储(constant storage):存放常量。
非内存存储(Non-RAM storage)(streamed object,persistent object对象持久化)。个人认为对于这六种,数据如何存储,程序如何运行还要深入研究。
JAVA对象的生命周期和primitive的不同。
程序就是一堆带方法的对象,而方法也都拿其他对象做参数,并且向其他对象发消息。
静态方法(class methods)和静态数据(class date)是属于类的,类的所有对象只有共同的一份,提倡直接用类来调用,static常用来管理本类型的对象。
我认为这章的重点应该是注释。注释提取工具是javadoc ,其来用JAVA编译技术来查找放在程序里的特殊注释标记。能把注释周围的类名和方法名提出来。
注释语法:所有的命令都是/**开始,*/结束。有两种主要的用法,嵌入式的HTML和文档标记(doc tags)。独立的文档标记(Standalone doc tags),内嵌的的文档标记(inline doc tags)用花括号括起来,@开始。注释在类,变量,方法的前面。Javadoc只会处理public和protected的成员的注释文档。
@see:引用其他的类
{@link package.class#member label}label作为超链接。
{@docRoot}返回以文档目录为根的相对路径。
{@inheritDoc}把这个类的最近的那个基类的文档继承到当前文档中。
@version verson-information
@aothor author-information
@since 这个标记标明程序从哪版开始提供某种特性。
@param parameter-name description 其中patametere-name表示参数列表,description一段可以分成几行的文本。此标记可以有好多个,一个标记表示一个参数。
@return description 返回值的信息。
@throws fully-qualified-class-name description 其中fully-qualified-class-name必须是方法所声明的异常的名字,description说明什么原因导致方法产生异常。
例子: