查看对象的地址值,可见,this指代的对象的地址值分别和cat,cat2对象的地址值 一样的
package com.atguigu.java4;
class Cat{
String name;
int age;
//需求:无论通过哪个构造器创建对象必须输出一句“小龙哥真帅”
public Cat(){
System.out.println("Cat()");
System.out.println("小龙哥真帅");
}
public Cat(int age){
this();//必须在构造器的首行
System.out.println("Cat(int age)");
}
public Cat(String name,int age){
this(age);
System.out.println("Cat(String name,int age)");
}
public void test(){
int a=10;
this.info();// 调用方法
info;//默认会隐式的加上"this."
}
public void setName(String name) {
//name = name; 思考:使用的是局部变量还是属性?局部变量--就近原则(局部变量和属性名一样时使用的是局部变量)
this.name = name; //this指代的当前对象,this.name调用的是当前对象的属性name
//哪个对象调用的该方法,那么this就指代哪个对象
System.out.println("this===="+this);
}
public void info(){
//调用属性时,默认会在属性的前面隐式的加上"this."
System.out.println(name+ " "+ age);
}
}
public class ThisTest {
public static void main(String[] args) {
//new Cat(20);
new Cat("小猫咪",20);
}
}



