构造函数中的super和this的使用

super用于调用父类构造函数的部分,其必须出如今构造函数的第一行。super在调用时第一件事就是去执行父类构造函数的部分,所执行的父类构造函数与super()括号中的参数相对应。函数

this用于在一个构造函数中调用同一个类另外一个构造函数,其也必须是第一行语句。this

super和this不能同时出如今一个构造函数中,其两个在使用时必须出如今构造函数的第一行语句,其区别为super调用父类构造函数,this调用自身类的构造函数。spa

为便于理解,能够将this理解为本身,也就是这个类自己,所以调用this是调用本身类的构造函数。code

public abstract class Animal {
    private String name;
    public String getName() {
        return name;
    }
    public Animal() {
        
    }
    public Animal(String theName) {
        name=theName;
    }
    public Animal(String x,String getname) {
        
    }

}
public class Hippo extends Animal{
    String name;
    public Hippo() {    //编写此构造函数父类需也有无参构造函数
        String test;
    }
    public Hippo(String name) {
        super(name);    //使用super方法将name传给父类Animal
        System.out.println("big");
    }
    
    public Hippo(String x,String name) {
        this(name);        //this为调用只有一个string参数的构造函数,即调用上面的构造函数输出big
        //super(name);    //super和this只能调用一个
        System.out.println(x);
        
    }

}

输出结果为blog

big
Buffyip

相关文章
相关标签/搜索