关于Java变量、数组、对象的声明、初始化与访问方式-----《疯狂Java突破程序员基本功的16课》读书笔记----第一章


一、声明与初始化




从上面的笔记我们可以看到

任何变量、对象、数组 都需要初始化才能使用

 

书上这样描述的


所以个人认为书上描述的有一定不准确,


引用变量不是不需要经过初始化操作,而是需要人工进行初始化操作。而数组、类它们在如果没有程序显式的进行初始化操作的话,系统会给它以默认值的方式初始化


数组的初始化有两种:动态初始化和静态初始化。具体参见书。

对象的初始化则是赋默认值,然后执行构造函数。


二、访问堆内存内容时的转换

只要不访问对象的成员变量和方法,程序完全可以使用此引用变量

如果访问对象的成员变量或方法,则会转变为访问堆内存中的对象

(这也是public private这些限制可以起作用的地方)

对于Java语言,堆内存的对象(数组或者是普通Java对象),通常不允许直接访问,为了访问对内存的对象,通常只能引用变量。

例如:iArr本质上只是main栈区的引用变量(数组),但使用iArr.length,iArr[2],系统将会自动变为访问堆内存的数组对象。引用变量本质上只是一个指针。


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值