变量定义的初始化顺序

//#java编程思想P94
//在类的内部, 定义变量的先后顺序决定了初始化的顺序。 即使变量定义分布于方法定义之间, 它们仍旧会在任何方法(包括构造器)被调用之前得到初始化。
package com.ztao2333.service;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;


class Window{
	Window(int maker){
		System.out.println("Window" + maker);
	}
}
class House{
	Window w1 = new Window(1);//Before 构造器
	House(){
		//构造器中
		System.out.println("House");
		w3 = new Window(33);//重新初始化  w3
	}
	
	Window w2 = new Window(2);  //After 构造器
	void f() {
		System.out.println("f");
	}
	Window w3 = new Window(3);//end
}
public class test {
	public static void main(String[] args) {
		House h = new House();
		h.f();
	}
}

/* Output
Window1
Window2
Window3
House
Window33
f
*/

猜你喜欢

转载自ztao2333.iteye.com/blog/2398663