今天有个逗比要我说我name=name到底是什么鬼,我是!!!∑(゚Д゚ノ)ノ.然后………..(当我是煞笔吗????)
第一种this引用成员变量
public class Demo7 {
String name="成员变量";
public void print(String name){
System.out.println("类中的属性 name ="+this.name);//注意这个this.name表示name是成员变量的name
System.out.println("局部传参的属性 name ="+name);//没有加this表示是方法体参数的name
}
public static void main(String[] args) {
new Demo7().print("String参数");
}
}
不过java编程思想说:当变量不一样是不要加的
不过我觉的加上可以增强代码阅读,,求大神指教
第二种this引用构造函数
class Person {
public Person() {
this("", 0);//调有两个参数的构造函数
System.out.println(3);
}
public Person(String name) {
System.out.println(1);
}
public Person(String name, int age) {
this("");//调有一个参数的构造函数
System.out.println(2);
}
public void stop() {
System.out.println("停止程序");
}
}
public class Demo6 {
public static void main(String[] args) {
new Person().stop();
}
}
注意:
1.this调用构造函数时this.构造参数,要写在方法体的第一行,否则编译不通过
2.还有要防止要防止构造函数递归