您的位置:首页 > 其它

this

2015-11-22 09:35 246 查看
this

this调用成员变量:this. ;

this调用成员函数: this. ;

this调用构造方法: this();

遵循:最小作用域最强原则

this—>指代对象—>谁调用this所在的函数,谁就是指代对象

作用1:

当成员变量的作用域和局部的作用域冲突时,使用this,将属性指向对象;

例子:Dog d = new Dog();
d.run();

public Dog(String name){
this.name = name;//name冲突所以使用this指向
}
public void run(){
}
//this 指向d,d为当前类的引用对象,因为d.run();


作用2:

通过this调用已有的构造函数;

使用this调用构造函数,必须在第一行

super:指向父类的引用

this:指向本类的引用

什么时候使用?

如果该方法,调用到了属于对象的内容,且该内容与该方法中的变量等作用域冲突;


注意:

使用this函数,必须放在第一行
this 指代对象的引用(谁调用它所在的函数,谁就那个函数)


Demo

class Person(){
String name;
void talk(){
syso(this.name);//this调用成员变量
}
}
class Test(){
public static void main(String args[]){
Person p1 = new Person();
p1.name = "zhangsan";
Person p2 = new Person();
p2.name = "lisi";
}
}
//输出结果为    zhangsan
lisi


** this. 指向成员变量

this(name,age);//调用本类中参数为name,age的构造函数

this调用本类中其他构造函数时,this();必须放在第一行,所以不能再一个构造方法中调用两个构造函数。

class Person(){
Person(String n, int a){
age = a;
name = n;
}
Person(String n, int a,int s){
this(n,a);
sex = s;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: