• 使用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();
    
        }
    
    }
  • 相关阅读:
    [SCOI2009] Windy数
    [P1361] 小M的作物
    Wannafly Camp 2020 Day 2E 阔力梯的树
    2017百越杯反序列化writeup
    大美西安writeup
    Thinkphp的SQL查询方式
    Thinkphp的CURD
    记一次拿webshell踩过的坑(如何用PHP编写一个不包含数字和字母的后门)
    ThinkPHP的输出和模型使用
    ThinkPHP的运行流程-2
  • 原文地址:https://www.cnblogs.com/kate7/p/14518736.html
Copyright © 2020-2023  润新知