有条准则写在前面:加载子类前必加载父类,实例化子类前必实例化父类。
也就是说,加载的时候会执行静态块,其顺序为:父类的静态块-》子类的静态块-》父类的构造方法-》子类的构造方法
同时,声明不会加载,例如在Test类中,使用Father f=null,不会加载Father类的,也就不会执行Father类的静态方法。new前才会进行加载,且static块只执行一次,加载完毕此后不会再执行。
关于final类型的参数,引用指向不会变,也就是其不会改变参数的值,只是改变形参的值。String、StringBuffer、StringBuilder都是final类型的。