Java 练习(代码块)

LeafTest.java

package com.klvchen.java3;

class Root{
	static {
		System.out.println("Root的静态初始化块");
	}
	{
		System.out.println("Root的普通初始化块");
	}
	public Root() {
		System.out.println("Root的无参数的构造器");
	}
}

class Mid extends Root{
	static {
		System.out.println("Mid的静态初始化块");
	}
	{
		System.out.println("Mid的普通初始化块");
	}
	public Mid() {
		System.out.println("Mid的无参数的构造器");
	}
	public Mid(String msg) {
		//通过this调用同一类中重载的构造器
		this();
		System.out.println("Mid的带参数构造器,其参数值: " + msg);
	}
}

class Leaf extends Mid{
	static {
		System.out.println("Leaf的静态初始化块");
	}
	{
		System.out.println("Leaf的普通初始化块");
	}
	public Leaf() {
		//通过 super 调用父类中有一个字符串参数的构造器
		super("klvchen");
		System.out.println("Leaf的构造器");
	}
}

public class LeafTest {
	public static void main(String[] args) {
		new Leaf();
		System.out.println();
		new Leaf();
	}

}

Son.java

package com.klvchen.java3;

class Father{
	static {
		System.out.println("11111111111111111111");
	}
	{
		System.out.println("22222222222222222222");
	}
	
	public Father() {
		System.out.println("33333333333333333333");
	}
}

public class Son extends Father {
	static {
		System.out.println("44444444444444444444");
	}
	{
		System.out.println("55555555555555555555");
	}
	public Son() {
		System.out.println("66666666666666666666");
	}
	
	public static void main(String[] args) {
		System.out.println("77777777777777777777");
		System.out.println("**********************");
		new Son();
		System.out.println("**********************");
		new Father();		
	}
}

OrderTest.java

package com.klvchen.java3;

public class OrderTest {
	public static void main(String[] args) {
		Order order = new Order();
		System.out.println(order.orderId);
	}

}


class Order{
	{
		orderId = 4;
	}
	int orderId = 3;
	
}

原文地址:https://www.cnblogs.com/klvchen/p/14505787.html