About 静态
静态方法不能存取非静态的变量。其他ms都行。
静态方法不用new对象,直接用类名调用。(如:Math.random())
final变量要初始化
只要main在这个类里,静态块static {}最先执行(先父类,后子类),再执行main中的指令。构造器中也是先父类,后子类。(见HeadFirstP310)
{}中是非静态块,遇到构造函数时,在每个具体构造函数之前执行(先父类{},再父类构造函数,然后子类{},构造函数)
<原话:非静态区块可以看作是构造函数中执行完父类构造函数后的第一部分,简单说就是先非静态块再构造函数。
显式静态初始化(static {blahblahbalh})在访问对象的时候运行,非静态实例初始化(直接{}括起)在调用构造器之前运行,详见thinking in Java P 186左右>