您的位置:首页 > 其它

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

2014-09-29 09:37 225 查看
先贴出代码 :

父类Animal ,

package parentAndChild;

public class Animal {

/**

* 动物类

*/

static{

System.out.println("父类的静态代码块");

}

{

System.out.println("执行父类的构造代码块");

}

public Animal(){

System.out.println("执行父类的构造方法");

}

public Animal(String name){

System.out.println("执行父类的构造方法 动物名称");

}

public void A(){

System.out.println("执行父类的A方法");

}

}

子类Dog

package parentAndChild;

/**

* 狗类,继承动物

*/

public class Dog extends Animal{

public static void main(String[] args) {

Dog Dog = new Dog();

Dog.A();

}

static {

System.out.println("子类的静态代码块");

}

{

System.out.println("执行子类的构造代码块");

}

public Dog(){

System.out.println("执行子类的构造方法");

}

public void A() {

System.out.println("执行子类的A方法");

}

public void B(){

System.out.println("执行子类的B方法");

}

}

执行顺序为:

父类的静态代码块

子类的静态代码块

执行父类的构造代码块

执行父类的构造方法

执行子类的构造代码块

执行子类的构造方法

执行子类的A方法

思考:

1.比较各个方法的执行顺序。

2.被子类重写的方法,只执行重写的方法,不执行父类被重写的方法。即不执行父类A方法,只执行子类A方法。

3.父类的静态代码,构造代码块,无参(带参)构造方法在子类执行时都要执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐