黑马程序员技术交流社区
标题:
this问题
[打印本页]
作者:
谭荣强
时间:
2014-2-15 20:45
标题:
this问题
this,name= name是一个怎样的过程啊。求解释
class test
{
String name ;
void getName(String name)
{
this.name = name;
//name = this.name;
System.out.println(name);
}
}
class lianxi
{
public static void main(String[] args)
{
test t = new test();
t.getName("老罗");
}
}
作者:
陈呈泰
时间:
2014-2-15 21:28
this.name = name;
=后面的name是传进来的参数。
this是一个对自身对象的引用。就好比“ t.getName("老罗");”其中t是test对象的引用。
this.name=name: 把传进来的参数赋值到自身对象的name上。
作者:
袁劲松
时间:
2014-2-16 09:59
this是指向类的,本来可以省略,但由于类中的成员变量和传进方法中的的参数名字相同,所以要加上this加以区分
作者:
冯鸿昌
时间:
2014-3-7 02:43
this的用法:
1. 使用范围(where to use):只能在类的实例成员中使用。非(static )成员。
2. 如何使用 ( how to use) : 在类的构造函数,或实例成员中,使用this去引用自身。先看下面一段代码示例:
public class Person {
public Person( ) {
this(""); //此处this用来引用自身的构造函数
}
public Person(String name) {
this.name = name; //此处this用来引用(new Person())动态生成的对象
}
public String getName() {
return this.name; //引用自身(运行时(runtime),使用(new constructor(type.... ))生成的Object
}
private String name;
}
复制代码
3 为什么使用this(why to use): 从上面的示例中,可以看出this的两个用法,引用成员变量,或调用构造函数
作者:
1453149997
时间:
2014-3-29 09:56
void getName(String name)
{
this.name = name;
...
}
如果写成name = name;那么就会由于“就近原则”导致这两个name都是参数列表里声明的name,为了防止受到就近原则的影响,需要在前面的name前加上this关键字,表明它是成员变量
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2