JAVA 中this做参数是怎么回事啊

来源:百度知道 编辑:UC知道 时间:2024/05/04 06:15:19
JAVA 中this做参数是怎么回事??
学了一段时间不明白this的用法。
我想知道是他作为参数时,是怎么一回事!!!!

不要多想就把他理解为当前类得一个对象
class A
{
private int b;
static A a;
public static void main (String[] args)
{
a=new A()
a.setB(10);
}

public void setB(int b)
{
this.b=b或a.b=b;//a或this是同一个含义,this.b或a.b代表当前类得一个属性,而右边得b是一个局部变量只有
这样才能区分开
}
}

回复:比如一个继承了Frame的类中有一个按钮,为按钮添加监听器则可以写成:button.addListener(this);这里的this就是当前JFrame类的实例。

给你举个例子:
首先,建两个类:都具有参数m
class A{
public int m = 3;
A{
B b = new B();
System.out.println(m);
System.out.println(this.m);
System.out.println(b.m);
}
public void static main(String args[])
{A a = new A();}
}

class B{
public int m = 0;
B(){m = 100}
}

在A类的构造方法中分别输出了m,this.m,以及b.m,输出的值分别应该是3、3、100。

下面我们来看this是什么,this指的是当前类实例或者当前类,之所以m与this.m相同,是因为这两个参数是一个参数,第一个白话就是输出A的m值,第二个的白话就是输出当前类实例的m值,因为main中是实例化A的对象,所以this说的是当前A类实例a,上面的两个参数翻译过来就是m和a.m,不知道说明白了吗,希望对楼