this关键字是Java常用的关键字,下面的话就来对这个方面做一下详细的介绍,下面主要介绍的是this.属性名。
在很多的时候,普通方法访问其他方法、成员变量的时候,不需要使用this前缀,可是,假如方法里面有个局部变量与成员变量同名,可是程序又需要在这个方法里面访问这个被覆盖的成员变量,那么就必须使用this前缀。
看一下示例:
假设有一个教师类Teacher的定义如下:
public class Teacher { private String name; // 教师名称 private double salary; // 工资 private int age; // 年龄 }
在上面的代码当中,name、salary和age的作用域是private,所以,在类外部无法对它们的值进行设置。
为了解决这个问题,可以为Teacher类添加一个构造方法,之后,在构造方法中传递参数进行修改。
代码:
// 创建构造方法,为上面的3个属性赋初始值 public Teacher(String name, double salary, int age) { this.name = name; // 设置教师名称 this.salary = salary; // 设置教师工资 this.age = age; // 设置教师年龄 }
在Teacher类的构造方法当中,使用了this关键字对属性name、salary和age赋值,this表示当前对象。
this.name=name语句表示一个赋值语句,等号左边的this.name是指当前对象具有的变量name,等号右边的name 表示参数传递过来的数值。
创建一个main()方法对Teacher类进行测试。
代码:
public static void main(String[] args) { Teacher teacher = new Teacher("王刚", 5000.0, 45); System.out.println("教师信息如下:"); System.out.println("教师名称:" + teacher.name + "\n教师工资:" + teacher.salary + "\n教师年龄:" + teacher.age); }
运行这个程序,输出结果:
教师信息如下: 教师名称:王刚 教师工资:5000.0 教师年龄:45
注意,在一个类的属性(成员变量)名与访问该属性的方法参数名相同的时候,那么就需要使用this关键字来访问类中的属性,以区分类的属性和方法中的参数。
关于this.属性名方面的内容就介绍到这里了,更多Java this关键字知识,请继续关注本站的java入门栏目来进行了解吧。
推荐阅读: