this关键字

来源:互联网 发布:viove录屏软件 编辑:程序博客网 时间:2024/05/29 15:11

今天的java学习中,学到了this关键字,现在做个小小的总结。

this关键字用于类中,当程序中新建或调用相应的类的对象或对象的方法时,在执行到this关键字时,this就代表那个对象。。。(好吧,有点说不清了)

还是用代码解释一下吧。。

//当成员名和函数形参变量名(局部变量名)一样时(有歧义时)才用this,不同时不需要用this,不会引发歧义即可class Person{    private name;    Person(String name)    {        this.name=name;     //如主函数所示,新建对象p时,this.name可看成p.name    }    public void getName()    {        System.out.println(this.name)//此处可直接用name,因为没有重名形参,此处name是this.name的简写        this.show();//成员方法和成员变量效果一摸一样,此处也可用show()        //如主函数所示,调用对象p时,this.name等价于p.name  this.show()等价于p.show()    }    public void show()    {        System.out.println(this.name)//此处同理可用name    }}class Demo{    public static void main(String[] args)    {        Person p=new Person("lisi");//新建一个对象p        p.getName();//调用对象p    }}

如果类中不会出现同名现象,一般情况下不要用this关键字。。

===========================================================================================================

补充:

1,在类中定义的方法中使用了本类对象,且对象为调用该方法的对象时,用this关键字

举例如下:

class Person{    private int name;    Person(int age)    {        this.age=age;    }    public boolean cmp(Person p)//参数类型为Person    {        return this.age==p.age;//this是指调用该方法的对象    }}

2,this语句

举例如下:

//this语句,格式:this();用于构造函数间相互调用(只能置于构造函数第一行)class Person{    private String name;    private int age;    Person(String name)    {        this.name=name;    }    Person(String name,int age)    {        this(name);//相当于调用同类中的另一个构造函数        this.age=age;    }}







0 0
原创粉丝点击