首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

菜鸟问个java this 的有关问题

2012-01-11 
初学者问个java this 的问题[code]publicclassA{StringsHello publicA(Strings){System.out.println(

初学者问个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!

热点排行