Java类的成员-代码块
1.代码块的作用:用来初始化类、对象
2.如果有修饰,只能使用static来修饰
3.分类:静态代码块 vs 非静态代码块
4.静态代码块
内部可以有输出语句
随着类的加载而执行,而且只执行一次
作用:初始化类的信息
静态代码块的执行优先于非静态代码块的执行
静态代码块内只能调用静态的属性、静态的方法
5.非静态代码块
内部可以有输出语句
随着类的创建而执行,每创建一个对象就执行一次非静态代码块
作用:可以在创建对象是,对对象的属性等进行初始化
public class BlockTest { public static void main(String[] args) { String desc=Person.desc; Person person=new Person(); Person person1=new Person(); } } class Person{ //属性 private int age; private String name; static String desc="我是一个人"; //构造器 public Person() { } public Person(int age, String name) { this.age = age; this.name = name; } //静态代码块 static { System.out.println("我是静态代码块,随着类的加载而执行"); } //非静态代码块 { System.out.println("我是非静态代码块,随着类的创建而执行"); } //方法 public void eat() { System.out.println("吃"); } @Override public String toString() { return "person{" + "age=" + age + ", name='" + name + '\'' + '}'; } }