this表示当前对象
1,使用this调用本类中的属性;
2,使用this调用构造方法;
package com.xuyigang1234.chp02; public class People { //定义属性 private String name; //实例化对象,默认值是null private int age; // 实例化对象,默认值0 // 定义构造方法 People(){ System.out.println("无参数的构造方法"); } People(String name,int age){ this(); // 调用无参数的构造方法 System.out.println("有参数的构造方法"); this.name=name; this.age=age; } public void sys() { System.out.println("我叫"+name+",年龄为:"+age); } public static void main(String[] args) { People people = new People(); people.sys(); People people1 = new People("小白",18); people1.sys(); } }
假如在我们还有需求,在构造方法中调用另外一个构造方法,比如默认构造方法里是基本的初始化,有参数的构造方法是附加初始化,
再调用有参数的构造方法时候,我们先调用无参数构造方法,实现基本初始化,然后再进行附加初始化,这时候this关键字又派上用场了,
我们调用this()就是调用无参数构造方法,括号里也可以加参数,来调用有参数的构造方法