A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

publicclass Test1 {

publicstaticvoid changeStr(String str){

        str="welcome";

    }

    publicstaticvoid main(String[] args) {



        String str="1234";

        changeStr(str);

        System.out.println(str);

    }

}

输出结果为什么是1234?是因为值传递吗?不是太理解。。

4 个回复

倒序浏览
变量使用的就近原则。
回复 使用道具 举报
就近原则,会优先调用方法体内的局部变量
回复 使用道具 举报
public static void changeStr(String str){   //这里得到的1234 相当于 String str = 1234;  这里的str和下面str是不同的变量
        str="welcome";   //这里改变的是本函数里面str的值,并不是改变下面那个
    }
    public static void main(String[] args) {
        String str="1234";
        changeStr(str);   //这里把str传进去,其实是把他的值1234传进去
        System.out.println(str);//所以这里打印的还是1234
    }
回复 使用道具 举报
limao3344 来自手机 中级黑马 2015-11-11 18:27:07
报纸
我也来看看!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马