第一章java中的this关键字示例


java中的this关键字用于引用当前对象或类的实例。它可以在构造函数中用于调用任何其他重载的构造函数,但这个关键字应该是构造函数中的第一条语句。

此关键字可用于实例变量

this 关键字可用于引用类的实例变量。

package org.arpit.java2blog;

public class Employee {

    String name;
    int age;

    public Employee(String name,int age)
    {
        this.name=name;
        this.age=age;       
    }

    public void workOnAssignment()
    {
        // Working on assignment
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static void main(String args[])
    {
        Employee e1=new Employee("John",20);
        System.out.println("Employee's name : "+e1.getName());
        System.out.println("Employee's age : "+e1.getAge());
    }
}

当你运行上面的程序时,你会得到下面的输出:

Employee’s name : John
Employee’s age : 20

如您所见,我们使用这个关键字在构造函数中设置实例变量的值。

该关键字可用于调用重载的构造函数

如果你想调用同一个类的重载构造函数,你可以使用这个关键字来做到这一点。 例如:

package org.arpit.java2blog;

public class Employee {

    String name;
    int age;

    public Employee() {
        System.out.println("Calling No arg constructor");
    }

    public Employee(String name,int age)
    {
        this();
        System.out.println("Calling Parameterized constructor");    
        this.name=name;
        this.age=age;       
    }

    public void workOnAssignment()
    {
        // Working on assignment
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public static void main(String args[])
    {
        Employee e1=new Employee("John",20);
        System.out.println("Employee's name : "+e1.getName());
        System.out.println("Employee's age : "+e1.getAge());
    }
}

当你运行上面的程序时,你会得到下面的输出:

Calling No arg constructor
Calling Parameterized constructor
Employee’s name : John
Employee’s age : 20

请注意,用于调用另一个构造函数的 this 关键字应该是该构造函数中的第一个语句。

这个关键字可以用来返回类的对象

package org.arpit.java2blog;

public class Employee {

    String name;
    int age;

    public Employee(String name,int age)
    {
        this.name=name;
        this.age=age;       
    }

    public void workOnAssignment()
    {
        // Working on assignment
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public Employee getEmployee()
    {
        return this;
    }
    public static void main(String args[])
    {
        Employee e1=new Employee("John",20);
        Employee e1Copy=e1.getEmployee();
        System.out.println("Employee's name : "+e1Copy.getName());
        System.out.println("Employee's age : "+e1Copy.getAge());
    }
}
Calling No arg constructor
Employee’s name : John
Employee’s age : 20

这就是java中这个关键字的全部内容。


原文链接:https://codingdict.com/