赋值及其延伸

对于这一章的学习,看似内容很多,也有点乱,但只要细细体会,还是可以发现他们之间的联系.....
首先是介绍了栈和堆:局部变量(方法变量)存在于栈上,对象及其实例变量存在于堆上;而后是介绍了字面值和基本的强制转换:强制转换可以是隐式的,也可以是显式的,当进行加宽强制转换时会发生隐式强制转换,也就是把一个较小的类型放入到一个较大的容器中,如byte-->int。
然后是基本的赋值以及关于变量的知识。字面整数的隐式是int,浮点数隐式为double复合赋值(如 +=)执行自动强制转换,引用变量可以引用所声明类型的子类,但不能引用其父类。若想使用一个未初始化的和未赋值的变量和数组元素:当一个对象数组被实例化,该数组内的对象不会被自动实例化,但所有的引用都会得到默认值null,当基本数组被实例化时,元素会得到他们的默认值,局部、自动、方法变量从不会被赋予默认值,如果试图在初始化它之前使用,则将得到编译错误。对于变量:它的作用域就是变量的生存期。4中基本的作用域如下:(1)、只要它们的类存在,静态变量实质上就会存在;(2)、只要它们的对象存在,实例变量就会下存在;(3)、只要它们的方法在栈上,局部变量就会存在,然而如果它们的方法调用另一个方法,它们会临时变得不可用;(4)、块变量(例如在for和if中)会存在到块完成为止。
接着还谈到了数组的声明、构造和初始化以及块的初始化。对一个数组来说,数组自身总是一个对象,但它能够保存基本类型和对象类型。在声明中包含数组的长度永远是不合法的,在构造数组时,必须包含其长度,除非是在创建匿名的数组,对象数组中的元素不会被自动创建,尽管基本数组元素被赋予一个默认值。块的初始化:在第一次加载类时,总会运行一次静态初始化块,每当创建新的实例时,都会运行实例初始化块,它们的运行发生在所有父构造函数之后以及构造函数的代码运行前。
最后是包装器,装箱以及垃圾收集。包装器类与基本类型相关它的两个主要功能是:包装基本类型,使得它们能够像对象一样被处理,还为基本类型提供实用方法(转换);而装箱和取消装箱使得使用包装器类更加的方便。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值