java{}代码块

在这里插入图片描述
尽管上面的代码看起来像个方法,但它实际只是一段跟在static关键字后面的代码。与其他静态初始化动作一样,这段代码仅执行一次:当首次生成这个类的一个对象时,或者首次访问属于那个类的静态数据成员时(即便从未生成过那个类的对象)。

package equality;

class Mug{
	Mug(int marker){
		System.out.println("Mug("+marker+")");
	}
	void f(int marker){
		System.out.println("f("+marker+")");
	}
}

public class demo4 {
	Mug mug1;
	Mug mug2;
	//初始化代码块,创建对象时自动执行
	{
		mug1=new Mug(1);
		mug2=new Mug(2);
		System.out.println("mug1 & mug2 initialized");
	}
	demo4(){
		System.out.println("Mugs(");
	}
	demo4(int i){
		System.out.println("Mugs(int)");
	}
	public static void main(String[] args){
		System.out.println("Inside main()");
		new demo4();
		System.out.println("new Mugs() completed");
		new demo4(1);
		System.out.println("new Mugs(1) completde");
	}

}

Inside main()
Mug(1)
Mug(2)
mug1 & mug2 initialized
Mugs(
new Mugs() completed
Mug(1)
Mug(2)
mug1 & mug2 initialized
Mugs(int)
new Mugs(1) completde

猜你喜欢

转载自blog.csdn.net/qq_41648092/article/details/86513012