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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 东东的一些事 中级黑马   /  2015-7-5 08:08  /  954 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

学了一段时间,觉得形参与实参在参与运算时是最容易搞混的了。
基本类型:形参的改变不影响实参。
引用类型:形参的改变影响实参(String类除外)。
因为String类是存放在常量池的……
其它细节忘各位大神补充…………

7 个回复

倒序浏览
看的多了,理解了,就不会混了,啦啦,德玛西亚
回复 使用道具 举报
引用类型的只有String吗?
回复 使用道具 举报
我也不是很清楚
回复 使用道具 举报
同问,概念很模糊
回复 使用道具 举报
Java中的参数传递问题:
(1) 基本数据类型:形式参数的改变不会影响实际参数。
(2) 引用数据类型:形式参数的改变会影响实际参数,是因为数据传递的是地址值,而不是值,只要地址值发生改变,那么指向就不是同一个对象。
示例演示:形式参数的改变会影响实际参数:
public class TestDemo {
        public static void main(String[] args) {
                String s1 = "hello";
                String s2 = "java";
                show(s1,s2);
                System.out.println(s1);
                System.out.println(s2);
        }
        public static void show(String s1,String s2){
                 s1=s1+"world";
                 s2=s2+"javaee";
        }
}


形式参数的改变不会影响实际参数。
public class TestDemo {
        public static void main(String[] args) {
                int s1 = 10;
                int s2 = 20;
                show(s1,s2);
        }
        public static void show(int s1,int s2){
                 s1=s1+10;
                 System.out.println(s1);
                 s2=s2+20;
                 System.out.println(s2);
        }
}

通过上面的例子演示,可以上述结论,希望对你有用。
回复 使用道具 举报
这两个好容易搞混
回复 使用道具 举报
实参和形参的区别:
空白或占位符
1。函数的形参列于函数声明中,在函数定义的函数体内使用。当函数调用时,形参(任何种类的)是一类将被填充的空白或是占位符。
用来填充形参
2。实参是用来填充形参的。当函数被调用时,实参列在函数名后面的括号里。执行函数调用时,实参被传递给形参。
传值调用和引用调用
3。传值调用和引用调用指的是用于参数传递过程中的一种机制。传值调用中,只使用了实参的值。传值调用机制里,形参是一个局部变量,其初始值为相应实参的值。在引用调用机制里,将实参的地址传递给形参,从表面上看是以实参变量取代形参,因此任何发生在形参上的改变实际上都发生在实参变量上。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马