代码块或初始化块(搭建结构)
public class BlockTest {}class Person {// 属性String name;int age;static String desc = "阿巴阿巴";//构造器public Person() {}public Person(String name, int age) {super();this.name = name;this.age = age;}// 方法public void eat() {System.out.println("吃饭");}@Overridepublic String toString() {return "Person [name=" + name + ", age=" + age + "]";}// 代码块{}}
1、代码块作用:用来初始化类或对象
2、可以修饰吗?可以!但只能用static修饰
3、分类:静态代码块/非静态代码块
4、静态代码块:(可以定义多个,按照声明的先后顺序执行)
>内部可以有输出语句
>随着类的加载而执行
>静态代码块只能执行一次
5、非静态代码块:(优先于静态代码块)
>内部可以有输出语句
>随着对象的创建而执行
>有new几个对象就执行几次
>作用:在创建对象时,造一次对象,就对对象的属性进行初始化
6、代码块先于构造器执行
7、由父类到子类,静态先行