#JAVA#面向对象(this关键字)
package this关键字;
/*
this:是当前类的对象引用,简单的记,它就代表当前类的一个对象
注意:谁调用这个方法,在该方法内部的this就调用谁
this场景:解决局部变量隐藏成员变量
*/
//定义学生类
class student{
//姓名
private String name;
//年龄
private int age;
//姓名获取值
public String getName() {
return name;
}
//姓名赋值
public void setName(String name) { //name="***"
//name=name; //错误,变量的使用原则:就近原则
//student.name 这里是类名,而调用只能通过对象名,如果这个对象存在,它应该代表的是student的一个对象
//这时java提供了一个关键字:this
this.name=name;
}
//年龄获取值
public int getAge() {
return age;
}
//年龄赋值
public void setAge(int age) {
//age=age; //错误
this.age=age;
}
}
package this关键字;
/*
标准的代码改进版
this:哪个对象调用那个方法,this就代表那个对象
*/
class student{
private String name;
private int age;
public String getName() {
return name; //这里其实隐含了this
}
public void setName(String name) {
this.name=name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age=age;
}
}
class studentTest {
public static void main(String args[]) {
//创建一个对象
student s=new student();
s.setName("***");
s.setAge(33);
System.out.println(s.getName()+"-----"+s.getAge());
//创建第二个对象
student s1=new student();
s1.setName("&&&");
s1.setAge(30);
System.out.println(s1.getName()+"-----"+s1.getAge());
}
}