Java基础学习:12、代码块

1、定义:

  代码块又称为初始化块,属于类中的成员,将逻辑语句封装在方法体中,通过{}包围起来。

2、分类:

  普通代码块、静态代码块(有static修饰)

public class Block {
  public static void main(String[] args) {
    new AA("张三");     // 每个构造器都会自动调用代码块内容
    new AA(20, "李四");
  }
}

class AA {
  private int age;
  private String name;

  {
    System.out.println("我是代码块1");
    System.out.println("我是代码块2");
    System.out.println("我是代码块3");
  }

  public AA(String name) {
    this.name = name;
  }

  public AA(int age, String name) {
    this.age = age;
    this.name = name;
  }
}

3、代码块的理解:

  a、相当于另一种形式的构造器,可以做初始化操作。

  b、使用场景:如果多个构造器都有重复语句,可以抽取到到代码块中,提高代码重用性。

 

静态代码块:

1、作用:就是对类进行初始化,它随着类的加载而执行,并且只会执行一次。如果是普通代码块,没创建一个对象,就会执行一次。

2、类什么时候被加载:
  a、创建对象实例时(new)。

  b、创建子类对象实例时,父类也会被加载。

  c、使用类的静态成员时(静态成员、静态方法)。

3、普通代码块:创建对象实例时,才会被调用,创建一次,调用一次,如果只是使用类的静态成员时,普通代码块不会执行。

4、小结:

  a、static代码块:类加载时调用,只会执行一次。

  b、普通代码块:创建对象时调用,创建一次,调用一次。

 

posted @ 2021-07-28 15:59  Y字仇杀队  阅读(62)  评论(0编辑  收藏  举报