本帖最后由 Alan_Kwan 于 2014-6-16 21:40 编辑
- <div class="blockcode"><blockquote>class Test
- {
- public static void main(String [] args)
- {
- Person p = new Person();
- Person p1 = new Person();
- }
- }
- class Person
- {
- static
- {
- System.out.println("我只会运行一次");
- }
- {
- System.out.println("所有的Person对象都会先运行我");
- }
- Person()
- {
- System.out.println("我是构造函数");
- }
- }
复制代码
构造代码块:在对象建立的时候运行,而且优先于构造函数执行。那么构造代码块的作用是什么呢?就是给所有对象统一初始化。
静态代码块:是在类一被加载的时候就执行的代码,所以它肯定优先于构造代码块执行,因为构造代码块是与对象绑定的,而静态代码块是与类绑定的。
下面用简单直接的例子来说明:
|
|