首页 > 代码库 > Java-值传递
Java-值传递
public class StringBufferTestQuote { // x = a;(a,x地址指向同一个StringBuffer对象) y = b;(b,y地址指向同一个StringBuffer对象) public static void appendStringBuffer(StringBuffer x, StringBuffer y) { x.append(y); // 对a,x地址指向的StringBuffer对象进行追加内容操作 y = x; System.out.println(x + " " + y); // AB AB } public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); // 栈内存中的a地址指向堆内存中的一个StringBuffer对象 StringBuffer b = new StringBuffer("B"); // 栈内存中的b地址指向堆内存中的一个StringBuffer对象 appendStringBuffer(a, b); // 引用传递:将a地址和b地址分别复制一份给被掉方法 System.out.println(a + " " + b); // AB B } }
总结:(总结很重要)
1.java中参数传递一律是值传递,基本类型->传递数值得一份拷贝给被调方法,引用类型->传递引用地址的一份拷贝给被掉方法。
2.引用地址赋值改变的是引用地址->该引用指向其它对象。
3.引用地址属于局部变量,作用范围在定义的代码块中。
4.引用与对象可能是多对一,一对一,零对一的关系。
Java-值传递
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。