代码块

{
system.out.printf("我是一个代码块");
}
注意事项:

  1. static代码块也叫静态代码块,作用就是对类进行初始化,而且随着类的加载而加载,并且只会执行一次。如果是普通代码快,没创建一个对象,就加载一次。
  2. 类什么时候被加载【importent】
    01创建对象实例(new)
    02创建子类对象实例,父类也会被加载
    03使用类的静态成员时(静态属性,静态方法)
  3. 普通的代码块,在创建对象实例时,会被隐式的调用。
    被创建一次,就会被调用一次。
    如果只是使用类的静态成员时,普通代码块不会被执行。
    4 创建一个对象时,在一个类 调用顺序是:(重点,难点):
    01 静态代码块和静态属性,优先级一样,多个按照定义顺序
    02 普通代码块和普通属性,优先级一样,多个按照定义顺序
    03 构造方法
  4. 构造器 的最前面其实隐藏了super()和调用普通代码块。
  5. 创建一个子类时(存在继承关系),他们的静态代码块,静态属性初始化,普通代码块,普通属性代码块,构造方法的调用顺序如下:
    01 父类的静态代码块和静态属性
    02 子类的静态代码块和静态属性
    03 父类的普通代码块和普通属性
    04 父类的构造方法
    05 子类的普通代码块和普通属性
    06 子类的构造方法
  6. 静态代码块只能直接调用静态成员(静态属性和静态方法),普通代码块可以调用任意成员。
 posted on 2022-04-22 11:14  11、  阅读(29)  评论(0)    收藏  举报