Thinking in Java 学习手记 第2章 一切都是对象
Thinking in Java 学习手记 第2章 一切都是对象“如果我们说另一种不同的语言,那么我们就会发觉一个有些不同的世界。“
――Luduing Wittgerstein(1889-1951)
在开始用Java进行设计之前,必须将思想转换到面向对象的世界中来。这个入门基本功,可以使你具备使用这样一种编程语言编程的能力,这种语言学习起来更为简单。
1、用引用操纵对象
(1)Java中一切都被视为对象,因此可采用单一而固定的语法。
(2)操纵的标识符实际上是对象的一个“引用(reference)”。
(3)拥有一个引用,并不一定要有一个对象与它关联。
(4)字符串可以用带引号的文本进行初始化。
2、必须由你创建所有对象
(1)用new关键字创建对象:Class-name Object-name = new Class-name();
(2)对象存储的位置:
①寄存器:最快的存储区域,位于处理器内部。
②堆栈:位于通用RAM中,用于存储对象的引用。
③堆:一种通用内存池,也位于RAM中,用于存放所有对象。
④常量存储:直接存放在程序代码内部。
⑤非RAM存储:完全存活于程序之外(流对象和持久化对象)。
(3)特例,基本类型:特别小的类型的变量,存储在堆栈中。
基本类型包括:boolean、char、byte、short、int、long、float、double、void。
(4)高精度数字:Java中提供BigInteger和BigDecimal两个高精度计算类。
BigInteger支持任意精度的整数。
BigDecimal支持任意精度的浮点数。
(5)数组:Java中的数组都作为对象处理。
3、永远不要销毁对象
(1)、作用域:Java的作用域由花括号的位置确定。
(2)、嵌套的作用域中不允许使用同名变量(对象)。
(3)、Java的对象引用的作用域与变量作用域相同。
(4)、Java会自动对不会再引用的对象进行销毁。
4、创建新的数据类型:类
(1)类(Class)确定对象的类型,创建类表示创建新的数据(对象)类型。
(2)类中的成员称为字段,成员的类型可以是基本类型,也可以是其他类的对象。
(3)类成员在类初始化时会获得一个默认值(如果你在构造方法中没有给他赋值),而方法中的局部变量不会获得默认初始化的值,必须在使用之前给它赋值。
5、方法、参数和返回值
(1)Java中的对象通过方法传递消息来完成程序设计,方法类似于面向过程的程序设计中的函数,有参数和返回值。
(2)方法的参数,传递的其实是对象的引用。
6、构建一个Java程序
(1)、名字的可见性:protected包访问权限、public任意访问权限、private类内部访问权限。
(2)、import指示编译器导入一个包(或者包中的元素)。
(3)、static成员(方法),依存于类,而不依存于对象。
7、运行一个Java程序
通过javac命令对源文件进行编译,通过java命令运行编译好的类文件。
8、注释和嵌入式文档
(1)Java中支持两种注释结构:多行注释“/* */”,单行注释“// ”
(2)在用Javadoc提取注释文档/** */
(3)Javadoc只能为protected和pulic提取文档注释,因为private成员在类外是不可见的(无法访问的),但可以用-private选项使之在文档中可见。
(4)嵌入式HTML文档常用标签
① @see标签允许用户引用其他类的文档。
② @link package.class#menber label 标签与@see相似,用“label”作为超链接文本。
③ @docRoot标签产生到文档根目录的相对路径,用于文档树页面的显示超链接。
④ @inherDoc标签从当前类最直接的基类中继承相关的文档到当前的文档注释中。
⑤ @version标签后输入要包含到版本说明中的重要信息。
⑥ @author标签输入作者信息
⑦ @since标签允许你指定程序代码中最早使用的版本。
⑧ @param标签添加方法参数信息的描述。
⑨ @throw标签添加异常信息
⑩ @return标签添加返回值含义的描述
9、编码风格
(1)“Java编译语言编码风格”规定:类名中首字母大写,如果类名有多个单词构成,每个单词首字母大写,然后直接拼到一起。
(2)所有的方法名、对象名全部小写。
----------------解决方案--------------------------------------------------------