java this关键字 值传递 引用传递总结
this关键字有两种用法,一种是区分属性名与参数名,如public?void setName(String name){
name=name};语句,因为java的就近原则,此语句被默认为将参数赋值给参数。所以需要改写为public void setName(String name){this.name = name};//左边是属性名,右边是参数名。第二种是在同一个类里调用其他的构造方法,如public Student(){this(name,10)};public Student(String name,int score){};?注意this后面的参数必须与调用的构造方法的中的参数保持一致。
值传递:只是参数之间值的传递。形式参数值的改变不会影响实际参数值的改变。
引用传递:实际上是地址的传递。每一个对象名都指向了一个地址,所以这种传递形式参数的值的改变会影响实际参数的值。(在实例化类时new关键字其实就是引用了首地址)。