输出结果:传入的name:李四age:10
student属性name:张三age:18
怎么能使其结果变为
输出结果:传入的name:李四age:10
student属性name:李四age:10
呢?
有两种方法
①
student类中的name和age不设初始值,不设初值时,name=name;age=age;就可以使student中的name变为李四,age变为10
②
this关键字
this关键字指自身,this
即代表自己,this.属性
访问的是自己的属性
将student类中的属性变为
this指自身,this
即代表自己,this.属性
访问的是自己的属性、this()
访问的就是自己的无参构造方法。
将student类中的name=name;改为this.name=name;age=age;改为this.age=age;
原因:
不用this的话,java不确定那个传入的name是不是给student类里的name的,所以在它本身含有自己的name的时候,不会改变他本身的数据,再返到main函数里面的话,返回来的name和age还是student里面的,而不是传入参数的