数据加载中……
特殊变量this

This变量表示成员对象本身。

public class point

{

    int x,y;

    point(int a,int b)

    {

        x=a;

        y=b;

    }

    point()

    {        

    }

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    void output(int x,int y)

    {

        this.x=x;

        this.y=y;

    }

    public static void main(String[] args)

    {

        point pt;

        /*pt=new point();

        {

            

            pt.output();            

        }*/

        pt=new point(3,3);

        {

            pt.output(5,5);

            pt.output();

        }

    }

}

当类中有2个同名变量,一个属于类(类的成员变量),而另一个属于某个特定的方法(方法中的局部变量),使用this区分成员变量和局部变量。

使用this简化构造函数的调用。

public class point

{

    int x,y;

    point(int a,int b)

    {

        x=a;

        y=b;

    }

    point()

    {    

        this(1,1);

    }

    void output()

    {

    System.out.println(x);

    System.out.println(y);

    }

    void output(int x,int y)

    {

        this.x=x;

        this.y=y;

    }

    public static void main(String[] args)

    {

        point pt;

        pt=new point();

        pt.output();

    }

}

我们使用一个不带参数的构造方法来调用带参数的构造方法,在不带参数的构造方法中使用this(1,1);this本身表示pt对象,他调用带参数的成员方法,来给x和y赋值。大大简化了调用方法。

在一个类中所有的实例(对象)调用的成员方法在内存中只有一份拷贝,尽管在内存中可能有多个对象,而数据成员(实例变量,成员变量)在类的每个对象所在的内存中都存在着一份拷贝。This变量允许相同的实例方法为不同的对象工作。每当调用一个实例方法时,this变量将被设置成引用该实例方法的特定的类对象。方法的代码接着会与this所代表的对象的特定数据建立关联。

posted on 2008-03-05 13:57 rick 阅读(165) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航: