类中的成员以及块

 Java语言中的变量定义中有类变量和实例变量之分。
 类变量用static修饰符修饰,没有用static修饰的是实例变量。
 类变量属于类,而实例变量则是属于每个创建了的实例的。
 类变量在类装入时建立并初始化,类变量属于类,不论基于这个类创建了多少个实例(或没有实例),类变量在内存中只保持一份。而实例变量是属于实例的,在实例创建时

建立和初始化,每一个实例都会在内存中保持一份属于自己的实例变量。
 虽然类变量属于类,但是通过一个类的实例同样可以访问这个类的类变量。类变量可以被看作是能够为类中所有实例共享的变量。


 而不论是实例变量还是类变量,建立时,系统都会首先自动赋予一个默认的初始值。不同类型的成员变量会有不同的默认初始值。
 数值型变量的默认初始值为0,字符型的为Unicode码为0的空字符,引用类型变量则为null。null是一个具有任何引用类型的特殊文字,但null引用不涉及任何对象。

 如果一个变量在定义时包含有初始化表达式,那么系统随后计算该表达式并给变量重新赋值,这种情况也被称为显示初始化变量。


 类的创建过程为:
 1.创建该类在内存中的内存空间。
 2.加载该类的成员并赋予初始值。
 3.按顺序执行该类中的所有显示初始化表达式以及静态初始化块。

 对象的创建过程则为:
 1.创建对象所需的内存空间。
 2.加载对象的成员并赋予初始值。
 3.按顺序执行该类中的所有显示初始化表达式以及实例初始化块。
 4.执行该对象的构造器。

 静态初始化块用static{...}修饰。而实例初始化块没有static修饰,为{...}


 局部变量在相应的局部变量定义语句被执行时建立,在方法执行完毕后释放。类变量在类文件被装入初始化时建立,实例变量在实例对象被创建时建立。局部变量没有默认的

初始值,类变量和实例变量都有默认的初始值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值