static关键字--类中静态代码块、构造代码块
| 一、静态代码块 |
|
【】静态代码块static{},这个代码块没有自己的名字, 【】随着类的加载进内存而执行,一般new 类名(),或类名.成员,时候,随着类加载进内存而静态代码块执行。 【】静态代码块用于给类初始化,所以静态代码块首先执行。 如果静态代码块写在主函数之外,那么会首先执行静态代码块,因为主函数被调用才会被执行,调用前先java 类名,此时静态代码块就会执行 【】静态代码块随着类加载进内存,并且这个类的构造代码块只为类初始化一次
【】不是所有类都是通过构造函数初始化的,有些类的共享成分会通过类名调用,没有构建对象就没法获得构造函数初始化操作。 总之,有些类不需要创建对象就能使用里面内容的,这时想要做一些动作的话,可以通过静态代码块完成。 |
|
【】静态代码块不常用,使用这个的类,往往类里面成员全都是共享修饰的。 【】了解即可 |
|
二、构造代码块 |
|
【】 类中的独立代码块叫做构造代码块,构造对象用的代码块。构造代码块先于构造函数运行。构造代码块和构造函数基本一样。和对象有关系,对象建立它会运行 【】创建几个对象调用几次 【】一般把构造函数里面都有的东西放到构造代码块里面。
|
| 三、局部代码块 |
| 函数里面的大括号代码,限定局部变量的生命周期 |
| 四、面试题 |
|
问有静态代码块、构造代码块、构造函数,同时操作同一个静态变量,问谁先执行? 1静态代码块随着类的加载而执行,首先执行 2如果有对象,构造代码块先执行,然后构造函数再执行 |



浙公网安备 33010602011771号