static类——Java中的执行顺序2

先看代码 

public class Test extends Base{

		static {
			System.out.println("test static");
		}
		public Test() {
		System.out.println("Test constur");
	}
	public static void main(String[] args) {
		new Test();

	}
}
	
	class Base{
		static {
			System.out.println("base static");
		}
		public Base() {
			System.out.println("base constur");
		}
	}


输出结果

base static
test static
base constur
Test constur

我们分析一下执行顺序:

1.首先扫描一下整体 不难发现 有base 和test 两个class 并且 Base 属于test 的父类,

2.main方法在test中但我们首先加载他的父类base 到方法区,base中出现static 类直接执行 输出 base static

3.随后执行 main所在test类中的static  输出 test static

4.继续进行 执行main方法,但是我们需要注意的是子类可以使用父类的所有方法,也就是说在执行main方法前我们应该将父类——base 中定义的函数等加载出来,也就是我们会将public base 调用并输出 base constur 

5.执行main 方法 输出Test costur

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值