zoukankan      html  css  js  c++  java
  • 使用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();
    
        }
    
    }
  • 相关阅读:
    重装window7系统(使用U盘)
    冒泡排序
    使用jad进行反编译.class文件生成.java
    java代码编写1+2+3+....+100之和
    springboot多模块项目不同模块组件不能@autowired问题
    django CBV和FBV写法总结
    django cookie与session组件
    djjango cookie和session 的几种常用需求使用方法
    django 一个关于分组查询的问题分析
    Django book manage system
  • 原文地址:https://www.cnblogs.com/kate7/p/14518736.html
Copyright © 2011-2022 走看看