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

java继承时候类的运行顺序问题

2014-06-09 09:34 239 查看
子类在继承父类后,创建子类对象会首先调用父类的构造函数,先运行父类的构造函数,然后再运行子类的构造函数,例如以下所看到的:

class Father{
public Father(){
System.out.println("I am father");
}
}
public class Child extends Father{
public Child(){
System.out.println("I am child");
}
public static void main(String[] args) {
Father f=new Father();
Child c=new Child();
}
}




当父类有带參数的构造函数时,子类默认是调用不带參数的构造函数,例如以下所看到的:

class Father{
public Father(){
System.out.println("I am father");
}
public Father(String name){
System.out.println("I am father,My name is "+name);
}
}
public class Child extends Father{
public Child(){
System.out.println("I am child");
}
public static void main(String[] args) {
Father f=new Father("Apache");
Child c=new Child();
}
}




若想子类调用父类带參数的构造函数,须要用super()函数申明,例如以下:

class Father{
public Father(){
System.out.println("I am father");
}
public Father(String name){
System.out.println("I am father,My name is "+name);
}
}
public class Child extends Father{
public Child(){
super("Apache");
System.out.println("I am child");
}
public static void main(String[] args) {
Father f=new Father("Apache");
Child c=new Child();
}
}


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