第二章 一切都是对象
1.用引用操纵对象
String s;\\创建一个引用,在初始化前引用不可用。
String s = "abc";\\初始化引用。
注:String类对象的引用可以用带引号的文本初始化。但更普通的初始化方法是用new,如:String s = new String("abc")
2.必须由你创建所有对象
2.1 可以存储数据的五个存储区
(1)寄存器:速度最快,数量有限,位于CPU内部。不能直接控制它。但C,C++允许您向编译器建议寄存器的分配方式。
(2)堆栈 :存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中。
(3)堆 :存放用new产生的数据。Java无需知道堆中数据的生命周期。
(4)常量存储:存放常量。
(5)非RAM :将对象存储在硬盘上,在需要时可恢复成常规的,基于RAM的对象
2.2 基本类型
(1)基本类型存储在堆栈中。每种基本类型的大小是固定的与硬件无关,使之具有更好的可移植性。如char 32bits
boolean是个特例,其所占存储空间大小没有明确指定,仅定义为能够取字面值true或false.
(2)所有数值类型都有正负号,不要去寻找无符号的数值类型。
(3)基本类型具有包装器类,使得在堆中可以创建一个非基本对象,用来表示对应的基本类型。
如:Character c = new Character('x')
(4)高精度数字包装器类:BigInteger和BigDecimal支持任意精度的整型和浮点数。
(5)当基本类型是类的数据成员时,即使没有对其初始化,Java也会确保它获得一个默认值0
若基本类型只是局部变量,那么Java不做任何处理,其未初化时的值可能为任意值。
public class
{
int i;\\ 默认值是0
public void fun()
{
int j;\\其值为任意值
int val = j;\\编译错误
}
}
2.3 第一个java程序
java.lang 会被默认导入到java文件中, 类的名字必须与文件名相同

浙公网安备 33010602011771号