构造块优先于构造方法执行,而且每当有一个新的实例化对象产生时,就会重复执行构造块的程序。
静态块优先于构造块执行,而且不管有多少个实例化对象产生,静态块只会执行一次,它的主要作用是为类中的static属性初始化。
主类中定义的静态块的执行要优先于主方法执行。
内部类的最大优点:可以方便地访问外部类的私有操作,或者是由外部类方便地方位内部类的私有操作。
外部类.内部类 内部类对象 = new 外部类().new 内部类();
Outer.Inner in = new Outer().new Inner();
如果一个内部类不希望被其它类所使用,那么也可以使用private关键字,将这个内部类定义为内部私有类。
用static定义内部类,可以不依赖于外部类实例被实例化。
Outer.Inner in = new Outer.Inner();