使用this()实现本类构造方法的调用

本程序定义了3个构造方法,并且这3个构造方法之间可以进行相互调用,即双参构造调用单参构造,单参构造调用无参构造

这样不管调用哪个构造方法都可以进行提示信息的输出。

class Person6 {

    private String name; // 成员属性
    private int age; // 成员属性

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Person6() { // 构造方法重载:无参构造
        System.out.println("****一个新的Person类对象实例化*****");
    }

    public Person6(String name) { // 构造方法重载:单参构造

        this(); // 调用本类无参构造
        this.name = name; // 使用this设置name属性内容
//        this() ;   //构造方法调用必须放在构造方法的首行,否则不会通过编译器检查,会报错:Constructor call must be the first statement in a constructor

    }

    public Person6(String name, int age) { // 构造方法重载:双参构造
        this(name); // 调用本类单参构造
        this.age = age; // 使用this设置age属性内容
    }

    public void tell() {

        System.out.println("姓名:" + this.name + "、年龄" + this.age);  //使用this明确标注出操作的是本类成员属性

    }

}

public class ThisDiaoYongBenLeiGouZaoFangFa {

    public static void main(String[] args) {

        Person6 per = new Person6("张三", 13);   //实例化person对象
        per.tell();

    }

}

 

posted @ 2021-03-11 16:21  别看窗外的世界  阅读(629)  评论(0编辑  收藏  举报