今天学习Java编程思想,看到初始化部分的构造器产生一个疑问.特此求助与讨论!
书中是这么表述的:
从概念上讲,"初始化"与"创建"是彼此独立的,但是在Java中,"初始化"和"创建"是绑定在一起的,两者不能分离.
同时,构造器是一种特殊类型的方法,构造器不会返回任何东西.
疑问:
我打个比方: String a = new String("aa"); 这个语句,在new String("aa")中,在堆中创建了一个对象,同时,由于我们传递了参数"aa",
(我们知道默认构造函数是用于"初始化的",) 在new String()中调用默认构造器完成对象的创建,同时这个对象,指向了常量池(位于ROM)中的常量字符 串"aa".
此时,我们完成了一个String对象的"初始化"和"创建",
同时,疑问来了,这个新的String对象的引用是在那里出来的? 通过什么方式创建出来的? 是在什么赋给Stirng a; 这个变量的?
求解答! 谢谢各位!
不知道我这样表达是否清晰!
|
|