this关键字
代表当前类的对象引用
在哪个类中引用了this,那么this就代表这个类
引用场景:解决局部变量隐藏成员变量名
class Student1{
private int age;
private String name;
public String getName() {
return name;
}
public void setName(String name) {
//由于变量的使用规则:就近原则,所以导致等号后面的name取的是离自己最近的值,也就是等号前面的name的值
//所以就导致等号前面的值得到的还是他自己的值,也就是NULL,即局部变量隐藏成员变量名
//name=name;
//所以,我们就需要用到this关键字
this.name=name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age=age;
}
}
public class ThisTest {
public static void main(String[] args) {
Student1 s = new Student1();
s.setAge(27);
s.setName("张三");
System.out.println(s.getName()+"----"+s.getAge());
}
}
this关键字练习
手机类:
成员变量:
int price;//价格
String brand;//品牌
String color;//颜色
成员方法:针对每一个成员变量给出一个setXxx()方法和getXxx()方法
最后定义测试:
先通过getXxx输出得到:null---null---0
然后再用setXxx赋值,再输出得到:小米---黑色---2000
class Phone{
private int price;//价格
private String brand;//品牌
private String color;//颜色
public int getPrice() {
return price;
}
public String getBrand() {
return brand;
}
public String getColor() {
return color;
}
public void setPrice(int price) {
this.price=price;
}
public void setBrand(String brand) {
this.brand=brand;
}
public void setColor(String color) {
this.color=color;
}
}
public class PhoneTest {
public static void main(String[] args) {
Phone s = new Phone();
//输出
System.out.println(s.getBrand()+"---"+s.getColor()+"---"+s.getPrice());
//赋值
s.setPrice(2000);
s.setColor("黑色");
s.setBrand("小米");
//输出
System.out.println(s.getBrand()+"---"+s.getColor()+"---"+s.getPrice());
}
}