this
2015-11-22 09:35
246 查看
this
this调用成员变量:this. ;
this调用成员函数: this. ;
this调用构造方法: this();
遵循:最小作用域最强原则
this—>指代对象—>谁调用this所在的函数,谁就是指代对象
作用1:
当成员变量的作用域和局部的作用域冲突时,使用this,将属性指向对象;
作用2:
通过this调用已有的构造函数;
使用this调用构造函数,必须在第一行
super:指向父类的引用
this:指向本类的引用
什么时候使用?
注意:
Demo
** this. 指向成员变量
this(name,age);//调用本类中参数为name,age的构造函数
this调用本类中其他构造函数时,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; } }
相关文章推荐
- C++11 你真的会用迭代器(iterator)么?
- 构造函数/方法
- HDU 1698 Just a Hook
- 【c#】——入门初观
- 等额本金-逆推
- static
- jQuery 选择器
- java中数据的默认属性
- 函数重载
- Caused by: java.lang.NoClassDefFoundError: com/tansuosoft/discoverx/common/Config
- java webservice服务器端获取request对象的三种方式
- 关于 QListWidget IconMode的使用
- 显示程序运行时间
- 2015年研究生数模[D]的后记
- 【Leetcode】Sum Root to Leaf Numbers
- 显示当前日期和时间
- C#之抽象类、虚方法、重写、接口、密封类
- Linux 下配置网卡的别名即网卡子IP的配置
- Docker在测试领域的应用
- Java 调用 MySQL 存储过程并获得返回值