JAVA——代码块与内部类的应用

代码块与内部类的应用——阿里校招题修改版

!!!
各代码块的优先级:
1,主类中的静态代码块——在main方法之前执行——只执行一次;
2,非主类中的静态代码块——实例化对象之后立马执行——只执行一次;
3,构造块——在静态代码块之后执行;
4,构造方法
5,普通代码块。

//主类HelloA
public class HelloA{
	//构造方法
	public HelloA(){
		System.out.println("Hello A!父类构造方法");
	}
	//构造块
	{
		System.out.println("Hello A!父类构造块");
	}
	//非静态代码块
	{
		System.out.println("i'm A class.父类非静态代码块");
	}
	//静态代码块
	static {
		System.out.println("static A 父类静态代码块");
	}
}
//主类HelloB
public class HelloB extends HelloA{
	//构造方法
	public HelloB(){
		System.out.println("Hello B! 构造方法");
	}
	//构造块
	{
		System.out.println("Hello B!父类构造块");
	}
	//非静态代码块
	{
		System.out.println("i'm B class.非静态代码块");
	}
	//静态代码块
	static {
		System.out.println("static B 静态代码块");
	}
	public static void main(String[] args){
		System.out.println("start——————");
		new HelloB();
		new HelloB();
		System.out.println("end——————");
	}
}

运行结果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xmfjmcwf/article/details/84064567