this

什么是this:

表示当前对象,this主要存在于两个位置:

  构造器中:就表示当前创建的对象

  方法中:哪个对象调用this所在的方法,此时this表示哪个对象。

当一个对象创建之后,JVM会分配一个引用自身的引用this。

使用this:

1:解决成员变量和参数(局部变量)之间的二义性,必须使用;

2:同类中实例方法间互调,(此时可以省略this,但不建议省略)

3:将this作为参数传递给另一个方法

4:将当前对象作为方法的返回值(链式方法编程)

5:构造器重载的互调,this(参数)必须写在构造方法第一行,所以一个构造器中只能调用一个重载的构造器。当多个构造器重载时,或者多个方法重载时,我们用少参数调用多参数的。因为参数越多,该方法考虑的未知的因素也越多。

User(String name)

{

this.name = name;
}

User(String name,int age)

{

this(name);//表示在调用参数为String类型的构造器。

this.age = age;

}

6:static不能和this一起使用

创建对象并给对象设置初始值有两种方式:

1):通过无参数构造器创建出一个对象,再通过对象调用相应的setter方法。

2):直接调用带参数的构造器,创建出来的对象就有了初始值。

-----------------------------------

如何选择:

1:如果存在带参数的构造器,方式2是比较简洁的

2:在构建对象的时候需要初始化多个数据,如果使用方式2,那么构造器得提供N个参数,参数过大不直观。此时方式1简单明了。

有时候需要根据数据来创建对象,此时优先使用方式1,其他情况任选。

posted @ 2017-12-07 07:38  kennnnnn  阅读(141)  评论(0编辑  收藏  举报