JAVA编程思想读书笔记六(成员的初始化)(2)

1、编译器对向前引用表示很不满,因为这和初始化的顺序 有关。

2、用构造函数进行初始化,但是构造函数初始化,并不排除自动初始化,因为在构造函数初始化之前,系统已经自动初始化过了。

3、初始化的顺序:是由变量的在类的定义里面的顺序决定的,变量的定义可能会分散在类的各个地方,并且与方法互相交错,但是变量的定义会先于任何地方,甚至构造函数。

4、静态的数据初始化,如果他是一个基本的数据类型,那么他会被标准初始化。如果他是一个对象的引用,那么他会被初始化为NULL。如果在定义的时候初始化,那么就和非静态的没什么两样了。

     静态类型的数据只会在需要的时候初始化,此后静态的数据成员不会被初始化了。如果是执行同一段的初始化操作,那么静态数据的初始化会优先于其他部分。

    静态块的初始化,同别的静态语句的初始化操作一样,只会在第一次创建这个类时或者是第一次访问这个类的静态的成员时创建。

    非静态的实例初始化,即匿名内部类后面会详细讲。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值