------------恢复内容开始------------
1、创建一个引用的同时便进行初始化
String s = "abcd";
2、更通用的初始化方法
用new操作符来实现引用和对象相关联;
String s = new String("abcd");
3、程序运行时,对象是怎么进行放置安排的?特别是内存是怎么分配的?
#
4、基本类型
new将对象存储在“堆”中,故用new创建一个对象创建一个对象——特别小的、简单的变量,往往不是很有效。因此,对于这些类型,java不用new来创建变量,而是创建一个并非是引用的“自动”变量。这个变量直接存储“值”,并置于堆栈中,因此更加高效。
boolean char byte short int long float double void
5、对象的作用域
Java对象不具备和基本类型一样的生命周期。
当new创建一个java对象时,它可以存活于作用域之外。只要你需要,就会一直保持下去。
如
{
String s = new String("a string");
}
创建一个s对象,作用域在{}内,虽然在{}外无法再访问s对象,因为对它的引用已经超出范围,但是内存中仍存在一块s对象的内存空间。
所以,这就涉及到java的垃圾回收机制,当new创建的对象不能在被引用时,释放这些内存空间。
------------恢复内容结束------------