-
当局部变量和成员变量重名时,方法中会根据“就近原则”使用局部变量的值
如果想要区分的话我们可以使用this关键字 -
格式:
this.成员变量名 -
this:
1.可以修饰属性、方法、构造方法
2.this可以理解为当前使用的对象或者正在创建的对象,通过那个对象调用的方法谁就是this
3.可以在构造方法中通过“this(形参)”的方式调用本类中其他重载的构造方法 -
注意:在构造方法内部必须写在首行
public class Person {
private String name;//自己的名字
private int age;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
//打招呼
public void sayHello(String name){//对方的名字
System.out.println(this.name+"对"+name+"说:你好啊!");
//当前对象的吃饭方法
this.eat();
}
public void eat(){
System.out.println("吃饭了");
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Person(int age) {
this.age = age;
System.out.println("Person带age参数构造方法");
}
public Person(String name) {
this.name = name;
System.out.println("Person带name参数构造方法");
}
public Person(String name, int age) {
//
this(name);
//this.name = name;
this.age = age;
System.out.println("Person带name,age参数构造方法");
}
public Person() {
System.out.println("Person无参构造方法");
}
}
public class TestPerson {
public static void main(String[] args) {
// 创建对象
/*Person per=new Person();
per.setName("赵四");//设置自己的名字
per.sayHello("刘能");//设置对方的名字
*/
Person p1=new Person("张三",12);
System.out.println(p1.getName()+",年龄:"+p1.getAge());
}
}