初学者问个java this 的问题
[code]
public class A {
String s = "Hello ";
public A(String s) {
System.out.println( "s = " + s);
System.out.println( "1 -> this.s = " + this.s);
//this.s=s;//这里------------
System.out.println( "2 -> this.s = " + this.s);
}
public static void main(String[] args) {
A pp=new A( "HelloWorld! ");
System.out.println(pp.s);
}
}
[/code]
想问的是 在没有this.s=s; 这句的时候 pp.s的值是 "Hello " 那么 pp(指针)是怎么找到s所指的值的?(引用值如何传递?)
------解决方案--------------------pp是A的一个对象(new了一个),pp.s就是引用了A类的一个成员变量
你的注释掉的那行代码正是通过构造方法对成员变量进行赋值
------解决方案--------------------因为你在一开始就进行了初始化操作:String s = "Hello ";
当你新建一个对象即new A( "HelloWorld! ")时通过=把引用传给了pp!