2.1 基本概念
引用
- 尽管一切都看作对象,但操纵的标识符实际上是对象的一个引用/reference
创建对象:
-
String s;
<-- 引用 -
String s = new String("asdf");
<-- 初始化
存储
- 寄存器
- 堆栈
- 堆
- 常量存储
- 非RAM存储
基本类型
基本类型 | 大小 | 最大值 | 最小值 | 默认值 |
---|---|---|---|---|
boolean | - | - | - | false |
char | 16 bits | Unicode 0 | Unicode 2^16-1 | '\u0000'(null) |
byte | 8 bits | -128 | 127 | (byte)0 |
short | 16 bits | -2^15 | 2^15-1 | (short)0 |
int | 32 bits | -2^31 | 2^31-1 | 0 |
long | 64 bits | -2^63 | 2^63-1 | 0L |
float | 32 bits | IEEE754 | IEEE754 | 0.0f |
double | 64 bits | IEEE754 | IEEE754 | 0.0d |
void | - | - | - | - |
-高精度:BigInteger BigDecimal
数组
- 当创建一个数组对象时,实际上是创建了一个引用数组,每个引用会自动初始化为null
- 基本类型的数组会初始化为0
对象/元素生命周期
- 作用域:决定了元素的可见性和生命周期
- 对象的作用域:离开作用域后无法再次引用,等待垃圾回收
创建对象
- 类
- 字段
- 方法
- 名称 参数(参数列表传递的实际上是引用)
- 返回值 方法体
static关键字
- 应用场景:
- 为某特定域分配单一的存储空间而不去考虑究竟要创建多少对象
- 无需创建对象也可以调用方法