this. 的使用 小弟有些不懂 请高手指点
这只是一部分class Person {
private String name;
private int age;
public Person(String[] args){
this.setName(name);//this. 用在程序中是什么意思呢?? 起强调? 不理解 希望高手帮忙
this.setAge(age);//}
public void tell() {
Sustem.out.println("姓名:"+getName()+",年龄"+getAge());
}
public String getName(){
return name;
}
public void setName(String n){
name = n;
}
public int getAge(){
return age;
}
public void setAge(int a) {
if (a>=0 && a<150) {
age = a;
}
}
}
public class ConsDemo{
public static void main(String[] args) {
Person per = new Person("张三",30);
per.tell();
}
}
----------------解决方案--------------------------------------------------------
this.setName(name)//调用本类(Person)中的setName方法,
同样的
this.setAge(age);//调用Person类中的setAge方法
----------------解决方案--------------------------------------------------------
this是指当前对象(也就是说Person本身):
1、this.setName(name); this.setAge(age);意思是由person自己调用这两个方法进行设值。。
2、this.name="abc";this.age=20;意思是把两个值赋给当前对象的属性, 当属性和形参的名字相同时,this就是区分它们,如:
public void setName(String name){
this.name = name;
}
3、this(String[] s)---》意思是调用当前对象的构造方法,
注:第3点只能在构造方法中用。。。
----------------解决方案--------------------------------------------------------
支持ls
lz注意ls第二点。既可明白:
public void setName(String name){
name = name;//如这里去掉this的话,那么赋值不会成功, 因这个name是局部变量,与本类定义的name无关系
}
另外注意一点:
public Person setName(){
return this;//这里返回的是本类的对象.
}
----------------解决方案--------------------------------------------------------
回复 3楼 hsh_1987
谢谢您的指导 谢谢 ~ 我会了 不过第3点 我还是不太懂 不过我会努力地 ----------------解决方案--------------------------------------------------------
回复 4楼 gameohyes
谢谢高手的指导 我会了 不过您提到的第2种我还不太理解 我会努力的 谢谢
----------------解决方案--------------------------------------------------------