一切都是对象
用句柄操纵对象
尽管一切都“看做”对象,但操作的标志符实际是指向一个对象的“句柄”,也称为“引用”或者“指针”。
拥有一个句柄,并不表示必须有一个对象与它相邻。更安全的做法是创建与一个句柄后,就做好它的初始化。
保存到什么地方
- 寄存器:处理器内部,是保存最快的区域
- 堆栈:在常规RAM区域,速度仅次于寄存器。对象句柄(引用)保存在其中
- 堆:在RAM区域中,保存Java对象。保证了保存数据的灵活性。
- 静态存储:
- 常数存储
- 非RAM存储
数据类型的大小:
Java的数组
创建对象数组时,实际创建的是一个句柄数组。而且每个句柄都会自动初始化成一个特殊值,并带有自己的关键字: null(空)。一旦 Java 看到 null,就知道该句柄并未指向一个对象。正式使用前,必须为每个句柄都分配一个对象。
绝对不要清除对象
对象的作用域由花括号的位置决定的
{
String s=new String(" a string");
}/* 作用域的终点*/
新建数据类型:类
定义一个类时,在类中可以设置两种类型的元素:数据对象(字段)和成员函数(方法)。
方法、自变量和返回值
返回类型 | 方法名 | (/* 自变量列表*/) | {/* 方法主体*/} |
---|---|---|---|
int | fun | (String s) | {return s.length*2;} |
一个对象只是一系列对象的集合,他们的方法将其他对象作为自己的自变量使用,而且将消息发送给那些对象。