java中this有两种用法:this.和this()

来源:互联网 发布:卧龙01将魂进阶数据 编辑:程序博客网 时间:2024/06/16 22:52
this表示类实例本身。
this的用法
1、表示对当前对象的引用!(public A getA()为什么这么写?→前面已经有了class A,相当于A是一种type,先把A当做void(即A同void一样,是一种type),那么问题就变成public void getA(),这里的"getA"是个名字,看着方便取名的。所以之所以写成“public A getA()”是java语言格式造成的(public Type Name(arguments))
public class A{  public A getA(){    return this;//表示获取当前实例本身  }}
2、表示类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!
this.a:this表示该类本身(实例化时即该实例本身,用.表示引用本身的属性、方法等,所以this.a表示引用该类(或实例)的a属性,即位置1。右边a即getA()方法中的参数值。)
public class A{  private int a = 0;//位置1  public A getA(int a){    this.a = a;//前面this.a表示 位置1 的a,赋值=号右侧的表示参数a  }}

3、用于在构造方法中引用满足指定参数类型的构造器。
public class A{  public A(int a){  }  public A(){     this(1);//这里调用自身的构造函数public A(int a){  }}


java中this有两种用法:

1、代表当前类
public class Dog{     private String name;     private float age;     public setName(String name){           this.name = name;     }    .......}
这里的this就代表的当前的这个Dog类。this.name可以理解为dog.name,只是理解,不是等于。
之所以要用this.name = name;这种语法,这是java所提倡的写法,如果你的方法参数与类属性的名称不同,this大可不必要,但是java提倡构造方法参数与类属性名称相同的作法。
2、在构造函数中的使用
public class Dog{     private String name;     private int age;     //有一个参数的构造函数     public Dog(String name){          this.name = name;     }     public Dog(String name,int age){           this.name = name;           this.age = age;     }     //这个无参构造方法里调用的有两个参数的构造方法,这个也就是this的第二种用法了!     public Dog(){           this("nihao",20);     }}
——代码引自百度知道
0 0
原创粉丝点击