zoukankan      html  css  js  c++  java
  • 值传递,引用传递

    java 对于 8种基本类型  和 他们的包装类型 ,   外加 String 类型 ,都是 值传递,没有引用传递 。即:传到一个方法里时,都是拷贝了一份,所以无法在一个方法里修改他们 的值


    如果传递的是对象的话,也就是引用,那么其实是拷贝这 个对象的一个引用,修改会引起变化。

    例子:

    Java代码

    package Demo;
    
    /**
     * User: liuwentao
     * Time: 12-7-28 下午10:50
     */
    public class Test {
    
        public static void main(String[] args) {
            int a = 1;
            Integer b =1;
            String hi = "Hi";
            toInt(a);
            toInt(b);
            changeStr(hi);
            System.out.println("a=" + a + ",b=" + b +",hi=" + hi);
    
            Bean bean = new Bean();
            System.out.println("i=" + bean.i + ",i2=" + bean.i2 + ",i3=" + bean.i3 + ",str=" + bean.str);
    
            changeBean(bean);
    
            System.out.println("i=" + bean.i + ",i2=" + bean.i2 + ",i3=" + bean.i3 + ",str=" + bean.str);
        }
    
        //=============值传递=================
    
        static void changeStr(String s) {
            s = "Hello";
        }
        static void toInt(Integer i) {
            i = 2;
        }
    
        //============引用传递=================
    
        static void changeBean(Bean bean){
            bean.i = 2;
            bean.i2 = 2;
            bean.i3 = new Integer(2);
            bean.str = "Hello";
        }
    
    }

  • 相关阅读:
    小明铺路
    Python库-BeautifulSoup
    Python库-re(正则表达式)
    cpp分解质因数
    cf Double Happiness(判断是否为素数且为4k+1型)
    ACM-世界岛旅行
    C#(.Net)中调用Sql sever汉字字符串显示为?问号
    如何配置Python环境
    记账软件——第三天
    记账软件——第二天
  • 原文地址:https://www.cnblogs.com/zhaoding/p/6252205.html
Copyright © 2011-2022 走看看