第2章 一切都是对象
2.1 用引用操纵对象
String s; //引用
String s = "asdf"; //对象
2.2 必须由你创建所有对象
String s = new String("asdf");
存储到什么地方:
1) 寄存器 不能直接控制
2) 堆栈 存储对象引用、基本类型
3) 堆 存放Java对象
4) 常量存储 存放常量值
5) 非RAM存储 存放流对象和持久化对象等
特例:基本类型
int
, float
32bits
包装器类:Character
等
高精度数字:BigInteger
和BigDecimal
Java中的数组
确保数组被初始化,而且有范围检查
2.3 永远不需要销毁对象
作用域
变量只可用于作用域结束之前
对象的作用域
引用在作用域终点消失,对象仍在
垃圾回收器,消除内存泄露
2.4 创建新的数据类型:类
class ATypeName {}
ATypeName a = new ATypeName();
字段和方法
或称 数据成员和成员函数
objectReference.member
基本成员默认值
0 基本数据类型变量作为类的成员
若作为局部变量不初始化会编译错误
2.5 方法、参数和返回值
方法名和参数列表唯一标识某个方法
方法只有通过对象才能被调用
int x = a.f();
发送消息给对象 消息是f()
对象是a
参数列表
传递对象的引用,基本数据类型除外
2.6 构建一个Java程序
名字可见性
避免相同名字冲突,反过来使用域名
e.g. net.mindview.utility.foibles
运用其他构件
相同文件 - 类在文件后面才定义也可使用
不同文件 - import java.util.*;
static
关键字
static
字段 不同对象共享同一字段
static
方法 不创建对象就可调用,如main()
2.7 你的第一个Java程序
import
额外类,java.lang
会被自动导入
System.out
静态对象
编译和运行
JDK javac java
ant 自动构建工具
2.8 注释和嵌入式文档
/* */ //
注释文档
代码同文档放同一个文件
javadoc
语法
/** javadoc命令 */
独立文档标签 @***
行内文档标签 {@***}
javadoc只为public
和protected
成员进行文档注释
生成HTML文件
嵌入式HTML
例如在文档注释加入<em><ol><li>
等
一些标签示例
@see
引用其他类
{@link package.class#member label}
@since
@param
@return
@throws
@deprecated
2.9 编码风格
类名首字母大写,标识符首字母小写
驼峰风格
2.10 总结
……