📜  Java中的this说明

📅  最后修改于: 2020-03-19 11:34:26             🧑  作者: Mango

“ this”是引用当前对象的参考变量。
以下是在Java中使用’this’关键字的方法:
1.使用’this’关键字引用当前的类实例变量

//Java展示this关键字用法
class Test
{
    int a;
    int b;
    // gou
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
    }
    void display()
    {
        // 展示a和b的值
        System.out.println("a = " + a + "  b = " + b);
    }
    public static void main(String[] args)
    {
        Test object = new Test(10, 20);
        object.display();
    }
}

输出

a = 10 b = 20

2.使用this()调用当前的类构造函数

// Java展示this()调用类构造函数
class Test
{
    int a;
    int b;
    // 默认构造器
    Test()
    {
        this(10, 20);
        System.out.println("默认构造器 \n");
    }
    // 输入参数的构造器
    Test(int a, int b)
    {
        this.a = a;
        this.b = b;
        System.out.println("带参数构造器");
    }
    public static void main(String[] args)
    {
        Test object = new Test();
    }
}

3.使用“ this”关键字返回当前的类实例

//Java代码,使用this返回当前的类实例
class Test
{
    int a;
    int b;
    // 默认构造器
    Test()
    {
        a = 10;
        b = 20;
    }
    // 返回当前类的实例
    Test get()
    {
        return this;
    }
    // 展示a和b的值
    void display()
    {
        System.out.println("a = " + a + "  b = " + b);
    }
    public static void main(String[] args)
    {
        Test object = new Test();
        object.get().display();
    }
}

输出:

a = 10 b = 20

4.使用“ this”关键字作为方法参数 

// Java代码使用this作为函数参数
class Test
{
    int a;
    int b;
    // 默认构造器
    Test()
    {
        a = 10;
        b = 20;
    }
    // 接收this的函数
    void display(Test obj)
    {
        System.out.println("a = " + a + "  b = " + b);
    }
    // 返回当前类的方法
    void get()
    {
        display(this);
    }
    public static void main(String[] args)
    {
        Test object = new Test();
        object.get();
    }
}

输出: 

a = 10 b = 20

5.使用“ this”关键字调用当前的类方法 

// Java使用this调用当前的类方法
class Test {
    void display()
    {
        // 调用汗水show()
        this.show();
       System.out.println("在display函数内");
    }
    void show() {
        System.out.println("在show函数内");
    }
    public static void main(String args[]) {
        Test t1 = new Test();
        t1.display();
    }
}

输出: 

在show函数内
在display函数内

6.在构造函数调用中使用“ this”关键字作为参数 

// Java使用“ this"关键字作为参数
class A
{
    B obj;
    // 构造器,使用B作为参数
    A(B obj)
    {
        this.obj = obj;
     // 调用B的display方法
        obj.display();
    }
}
class B
{
    int x = 5;
    // 构造A,传入this做参数
    B()
    {
        A obj = new A(this);
    }
    // 打印x
    void display()
    {
        System.out.println("B中的x : " + x);
    }
    public static void main(String[] args) {
        B obj = new B();
    }
}

输出: 

B中的x : 5