一:对象存储的地方
1. 寄存器:处理器内部,最快的存储区,由编译器根据需求进行分配,我们在程序中无法控制.
2. 栈:位于通用RAM(随机访问处理器)中,存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中
3. 堆:存放所有new出来的对象。
4. 常量储存:
5. 非RAM存储:硬盘等永久存储空间
二:作用域
作用域由花括号的位置决定。
{
String s = new String("a string");
}// End of scope
引用s在作用域终点就消失了,而s指向的String对象仍继续占据内存空间
三:类
若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。然而确保初始化的方法并不适用于"局部"变量(即并非某个类的字段)
将上图注释去掉就会报错,也就是编译时会报错。
时间: 2024-10-06 00:24:20