package block; /* * 类的代码块(初始化块) * 1.代码块作用:用来初始化类,对象 * 2.可以用static修饰后成为静态代码块 * 3.分类:静态代码块 和 非静态代码块 * * 静态代码块: * >随着类的加载而执行,只执行一次 * >作用:初始化类信息 * >多个静态代码块按定义顺序执行 * >不可以调用非静态结构 * 非静态代码块: * >随着每次new对象执行 * >作用:可以在创建对象时,对对象的属性进行初始化 * >多个代码块按定义顺序执行 * >静态/非静态结构都可以调用 * * 属性赋值顺序: * super static field * super static block * static field * static block * * super field * super block * super constructor * field * block * constructor * */ class Person{ String name; int age; static String desc = "一个人"; public Person(String name, int age) { super(); this.name = name; this.age = age; } public Person() { super(); } //static代码块 static{ System.out.println("hello static block"); } //非static代码块 { System.out.println("hello block"); } public void eat() { System.out.println("吃饭"); } @Override public String toString() { return "Person [name=" + name + ", age=" + age + "]"; } public static void info() { System.out.println("static method"); } } public class BlockTest { public static void main(String[] args) { String desc = Person.desc; Person person = new Person(); } }
java基础——类初始化块
猜你喜欢
转载自www.cnblogs.com/zsben991126/p/12148127.html
今日推荐
周排行