zoukankan      html  css  js  c++  java
  • Java引用传递的一个例子

    class Candy{
        private Integer i;
        public void setI(Integer i) {
            this.i = i;
        }
        public Integer getI() {
            return i;
        }
        public static void main(String[] args) {
            Map<String,Object> map=new HashMap<String,Object>();
            Candy[] array=new Candy[1];
            Candy cd=new Candy();
            cd.setI(0);
            map.put("i", cd);
            array[0]=cd;
            array[0].setI(5);
            System.out.println("map:"+((Candy)map.get("i")).getI());
            System.out.println("array:"+array[0].getI());
    
        }
    }
    //output
    //map:5
    //array:5

    在整个main方法中,只有一部new操作,即只有一个Candy对象(假定为A对象),array[0]=cd和map.put(“i”,cd)两个操作只是获取到指向A的引用cd的值,因此array[0]和map中key=”i”元素都只是指向A的引用,对array[0]和map中key=”i”元素进行操作,实质上就是对A操作,因此,array[0]和map.get(“i”)的结果始终是一致的。这便是一个简单的引用传递的小栗子。

  • 相关阅读:
    关于vue中如何实现排到他思想
    js 文件下载
    js文件上传
    webpack学习笔记
    this总结
    React中props与state
    js事件总结
    js深拷贝与浅拷贝
    JS设计模式之观察者模式
    ES5与ES6的继承
  • 原文地址:https://www.cnblogs.com/wjc920/p/9256182.html
Copyright © 2011-2022 走看看