请问为什么最后那行定义了之后就会重新执行一遍
因为你每new一个新的对象时,类都会重新加载一次,由于静态块在加载的过程中只执行一次,所以当再一次new一个对象的时候,首先执行初始化块中的语句,再执行构造方法。
每一次new 都是重新创建一个对象(跟你上一次创建的不一样),每次创建对象要进行初始化操作。
关键点:hello 跟hello2不是同一个对象