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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

引用类型:
引用类型表示你操作的数据是同一个,也就是说当你传一个参数给另一个方法时,你在另一个方法中改变这个变量的值,那么调用这个方法是传入的变量的值也将改变.
值类型:
值类型表示复制一个当前变量传给方法,当你在这个方法中改变这个变量的值时,最初生命的变量的值不会变.
示例:
public class Test {

        public static void operate(StringBuffer x, StringBuffer y) {
                x.append(y);
                y = x;
                System.out.println(x + "," + y);
        }

        public static void main(String[] args) {
                StringBuffer a = new StringBuffer("A");
                StringBuffer b = new StringBuffer("B");
                operate(a, b);
                System.out.println(a + "," + b);
        }

}

结果: AB,AB AB,B
解释: 这里传递的是地址(引用)传递2个StringBuffer 对象!

注:值类型也就是基本数据类型(8种),除了八种基本类型外,所有的类型都称为引用类型

2 个回复

倒序浏览
其实就在于引用数据类型是在堆中操作数据,而基本数据类型在栈中,其实String类是个特列
回复 使用道具 举报
值传递是把变量值复制一份过去,引用传递是把地址传过去
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马