美文网首页
java传参问题

java传参问题

作者: yu_sing | 来源:发表于2018-04-03 13:24 被阅读0次

    java传参的问题,可以通过如下三个例子进行说明:

    例一:

    
    public static void main(String[] args) {
    
        String name="name";
    
        change(name);
    
        System.out.println(name);//打印结果为name
    
    }
    
    public static void change(String name){
    
        name="changename";
    
    }
    
    

    例二:

    
    public static void main(String[] args) {
    
        Map map=new HashMap();
    
        map.put("name", name);
    
        change(map);
    
        System.out.println(map.get("name"));//打印结果为changename
    
    }
    
    public static void change(Map map){
    
        map.put("name", "changename");
    
    }
    
    

    例三:

    
    public static void main(String[] args) {
    
        Map map=new HashMap();
    
        map.put("name", name);
    
        change(map);
    
        System.out.println(map.get("name"));//打印结果为name
    
    }
    
    public static void change(Map map){
    
        map=new HashMap();
    
        map.put("name", "changename");
    
    }
    
    

    总结:如果形参是基本类型,实参传递传递给形参的是值,可以理解为把实参复制了一份给形参,在方法内对形参的操作,不会影响到实参的值。如果形参是引用类型,实参传递给形参的是引用,也就是说,形参指向的是实参的对象,在方法内对对形参所指向的对象进行修改,是会反映到实参所指向的对象的,但是一旦给形参重新指定对象的引用,那么对形参的修改就不会反映到实参所指向的对象了。

    相关文章

      网友评论

          本文标题:java传参问题

          本文链接:https://www.haomeiwen.com/subject/lsiqhftx.html