您的位置:首页 > 编程语言 > Java开发

子类和父类构造方法的执行先后问题

2015-11-30 20:30 225 查看

在java中如果一个类中没有显式的使用super()进行调用超类的构造方法,则在执行子类构造方法之前会首先待用父类的构造方法,如下:

/**
* Created by zhuxinquan on 15-11-24.
*/

class Circle{
double radius = 10;
public Circle(){
//this(0);
System.out.println("Parent radius"+radius);
}
public Circle(double r){
radius = r;
System.out.println("Parent radius"+radius);
}
}

class Cylinder extends Circle{
double height = 100;
public Cylinder(){
System.out.println("height"+height);
}
}

public class Ex5_5 {
public static void main(String[] args){
Cylinder obj = new Cylinder();
System.out.println(obj.radius);
}
}


在Cylinder类中没有显式的调用super(),则在声明Cylinder类时,首先会调用超类的构造方法,在执行完成超类的构造方法之后再会执行本类的构造方法,就会产生如下的结果:

Parent radius10.0

height100.0

10.0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java class