java this关键字详解,this.属性名

KLQ 2020-09-09 14:52:57 java常见问答 5387

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入门栏目来进行了解吧。

推荐阅读:

java super关键字,super和this的区别介绍

java this关键字详解,this.方法名

java this关键字详解,this( )访问构造方法