黑马程序员技术交流社区
标题:
this(name);
[打印本页]
作者:
橸瑩膤漃寞林
时间:
2014-3-11 15:31
标题:
this(name);
本帖最后由 橸瑩膤漃寞林 于 2014-3-11 21:19 编辑
Person(String name,int age)
{
this(name);
this.name = name;
this.age = age;
}
this(name);谁能帮我解释一下吗,看不懂。
作者:
SyouRai_Tsk
时间:
2014-3-11 15:38
能否贴出全部代码,谢谢!
作者:
房建斌
时间:
2014-3-11 15:40
你的代码不全,少了一个接收name的构造方法。完整的代码时这样的:
public Person(String name, int age) {
this(name);
this.name = name;
this.age = age;
}
public Person(String name) {
System.out.println(name);
}
复制代码
this(name)的意思就是调用接收参数为String的那个构造方法。
作者:
橸瑩膤漃寞林
时间:
2014-3-11 15:41
class Person
{
private String name;
private int age;
{
System.out.println("code run");
}
Person()
{
//this("hah");
System.out.println("person run");
}
Person(String name)
{
//this();
this.name =name;
}
Person(String name,int age)
{
//this(name);
//this.name = name;
this.age = age;
}
}
class PersonDemo4
{
public static void main(String[] args)
{
new Person();
//Person p = new Person("lisi",30);
//Person p1 = new Person("lisi2",36);
}
}
作者:
透过生活
时间:
2014-3-11 15:51
这里是this的用法。代表调用上一个构造方法参数为(name),对name进行赋值
1、表示对当前对象的引用!
2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。
3、用于在构造方法中引用满足指定参数类型的构造器(其实也就是构造方法)。但是这里必须非常注意:只能引用一个构造方法且必须位于开始!
还有就是注意:this不能用在static方法中!所以甚至有人给static方法的定义就是:没有this的方法!虽然夸张,但是却充分说明this不能在static方法中使用!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2