java吧 关注:1,235,728贴子:12,704,025

回复:初学者问一个简单的问题!发现的一个传参的问题

只看楼主收藏回复

你说的根本没到点子上,String类型在属性的声明的时候,可以当基本数据类型使用,就是你代码写的。String类型当作引用数据类型时,可以进行实例化对象,作为一个字符串对象,这些去查jdk api。你代码中体现的是被调用的方法的两个参数类型都是String,当然进行传参的类型也必须是两个String类型,这样才能进行参数的类型与个数的依依匹配,然后进行调用,方法的重载着重挑战了这点


来自iPhone客户端21楼2016-11-20 23:57
回复
    看见这 我头疼。


    22楼2016-11-21 12:20
    回复
      其实下面的类里面输出一下就可以发现原因了


      来自iPhone客户端23楼2016-12-02 17:59
      回复
        string为不可变字符串


        IP属地:广东来自iPhone客户端24楼2016-12-09 01:07
        回复
          17楼是正解。传递的是引用副本,而不是引用本身。顺便,java都是值传递。


          IP属地:瑞典来自Android客户端25楼2016-12-09 03:10
          回复
            草,我都没看懂你class A是个啥东西方法里的变量没声明变量类型呢,不报错么


            来自Android客户端28楼2016-12-09 07:04
            回复
              java中的引用和 c++ 的引用 不一样 &


              29楼2016-12-09 09:27
              回复
                把String a和b定为全局变量, 那么就会得到你想要的答案。


                30楼2016-12-09 09:35
                回复
                  123和456都放入常量池中,并且a,b分别指向123,456,现在把这个引用给了临时变量a和临时变量b,也就是说临时变量a临时变量b确实指向了常量池中的123和456,但是注意一点,string的值是不可变的,也就是说123和456这两个值不能被改变,重新给临时变量a和b赋值,是在常量池中存储一个“ ”,临时变量a和临时变量b都指向它,而变量a和变量b的指向并没有改变且指向的值也没有改变,实际上前面也说过,是不能被改变的。


                  IP属地:广东来自iPhone客户端31楼2016-12-09 09:44
                  收起回复
                    在下面的change方法里面打印就对了……


                    IP属地:河南来自Android客户端32楼2016-12-09 09:48
                    回复
                      楼主俺提醒你一句,所有回复就两个对的,什么String特殊类型都是无稽之谈


                      IP属地:湖南来自iPhone客户端33楼2016-12-23 15:03
                      回复
                        你change了 没有返回值


                        IP属地:浙江34楼2016-12-23 15:22
                        回复
                          我之所以一定要退电热水壶,最重要得原因不是,电热水壶可能会漏电,也不是电热水壶三无产品,写得是半球牌,尼玛却是中山秋歌生产厂家得,也不是这两个重要原因,而是整个水壶得水喝了,有一种很猛得毒素,会感觉全身乏力,神经萎靡,神经有麻醉感,喝了其他水就没有这种情况,还是政府迫害


                          35楼2016-12-23 15:24
                          回复