java类数据成员初始化-----有点难度

1. Java尽自己的全力保证所有变量都能在使用前得到正确的初始化

在这阿松大里插入图片描述
char类型直接是null

note:若赋予一个垃圾值,是非常不安全的,所以先不赋值,使用默认值

2. 构建器初始化

note:使用构建器初始化,不妨碍自动初始化的进行

class Counter {
 int i; 
 Counter() {
  i = 7; } 

这里还是先初始化i=0.然后在将 i 改为7

3. 初始化的顺序

初始化的顺序是由变量在类内的定义顺序决定的

note:需要注意的是,即使有些类的成员变量放在方法(使用了该成员变量)的后面,依然是可行的,因为无论如何,我们是先默认初始化成员变量,再进行构造函数(构建器)的初始化,再是其他函数。

4. 静态变量的初始化----还是挺难的

初始化的顺序是首先static(如果它们尚未由前一次对象创建过程初始化),接着是非static对象。具体也需要和上面的 3.初始化的顺序进行结合

5 明确进行的静态初始化

class Spoon {
 static int i; 
 static {
  i = 47; } 

与其他static初始化一样,这段代码仅执行一次——首次生成那个类的一个对象时,或者首次访问属于那个类的一个static成员时

6.一个简单代码的分析

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值