子类、父类各种方法的执行顺序

先贴出代码:父类Animal类,子类Cat类

package com.wzy.jpbm.test;

public class Animal {
	static{
		System.out.println("父类的静态方法");
	}
	{
		System.out.println("执行父类的构造代码块");
	}
	public Animal(){
		System.out.println("执行父类的构造方法");
	}
	public void A(){
		System.out.println("执行父类的A方法");
	}
}

package com.wzy.jpbm.test;

public class Cat extends Animal{
	static{
		System.out.println("子类的静态方法");
	}
	{
		System.out.println("执行子类的构造代码块");
	}
	public Cat(){
		System.out.println("执行子类的构造方法");
	}
	@Override
	public void A() {
		System.out.println("执行子类的A方法");
	}
	public static void main(String[] args) {
		Cat c = new Cat();
		c.A();
	}
}

执行结果:

父类的静态方法
子类的静态方法
执行父类的构造代码块
执行父类的构造方法
执行子类的构造代码块
执行子类的构造方法
执行子类的A方法


你可能感兴趣的:(子类、父类各种方法的执行顺序)