java基础:初始化块

初始化块

1.什么是初始化块

初始化块是java类中可出现的第四种成员(成员变量,方法 ,构造器),一个类中可以有多个初始化块

2.初始化块的作用?

从某种程度来看,初始化块是构造器的补充,初始化块总是在构造器执行之前执行。系统通压根可以使用初始化块来进行对象的初始化操作

3.初始化块的执行顺序?

前面定义的初始化块先执行,后面定义的初始化块后执行

4.语法

public class InstanceInit {
//初始化块 对a进行初始化
    {
        int a=6;
    }
    int a=9;


    public static void main(String []args){
        System.out.println(new InstanceInit().a);
    }
}

5.初始化块的运行机制

当java创建对象时,系统先为该对象的所有实例对象分配内存(该类已经加载),接着程序开始对这些实例化变量执行初始化,顺序为:先执行初始化块或者声明变量时执行的初始化,再执行构造器中的初始值

6.如何结合初始化块和构造器

7.深入初始化块!!

实际上初始化块是一个假象,使用javac编译java后,该java类的初始化块会消失,初始化块的代码会“还原”到每个构造器中,位于构造器代码的前面

 

静态初始化块

1.什么是静态初始化块?

如果定义的初始化块使用了static修饰(初始化块也只能使用static修饰),则这个初始化块变成了静态初始化块,也称为类初始化块,同样需要满足static修饰的性质(不能访问实例变量 实例方法)

2.和初始化块的联系

一个是对对象进行初始化 一个是对类进行初始化,语法,性质类似(见上文对于初始化块的性质介绍)

3.语法

public class InstanceInit {
/**
    静态初始化块
*/
    static{
        int a=6;
    }
    static int a=9;


    public static void main(String []args){
        System.out.println(new InstanceInit().a);
    }
}

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值