类话语块
类语句块
public class Snippet extends supperone{ public static void main(String[] args) { new Thread() { { setDaemon(true); } public void run() { System.out.println("acquired"); } }.start(); } }
写道
{ setDaemon(true); }
就是类语句块;
对象的初始化过程:先初始化父类的静态成员,再初始化子类的静态成员,然后是父类的非静态块,接着是父类的构造方法,然后是子类的非静态块,最后调用子类的构造方法。
也就是说创建匿名类Thread的时候,先初始化Thread的静态成员,在初始化匿名类的静态成员,然后是Thread的非静态块,接着是父类的构造方法,然后是子类(匿名类)的非静态块,最后是子类的构造方法。
就是说子类(匿名类)的非静态块可以调用父类的方法,因为父类已经构造完成。