zoukankan      html  css  js  c++  java
  • 对象调用很容易忽视的地址问题

    对象调用很容易忽视的地址问题

    package com.tcf;

    import java.util.LinkedList;
    import java.util.List;

    public class NewEntity {

    public static void main(String[] args) {
        // 对象调用很容易忽视的一点
        /*
         * Been b = new Been(); List<Been> list = new LinkedList<Been>();
         * 
         * b.setName("a"); b.setNumber(1); list.add(b);
         * 
         * //一个地址指向一个堆块,当这个堆块的内容改变时,这个指向堆块的地址并没有变
         * 
         * b.setName("b"); b.setNumber(2); list.add(b);
         * 
         * System.out.println(list.get(0).getName() + ": " +
         * list.get(0).getNumber());
         */
    
        /*
         * Been b = new Been(); List<Been> list = new LinkedList<Been>();
         * 
         * b.setName("a"); b.setNumber(1); list.add(b);
         * 
         * Been c = new Been();
         * 
         * c.setName("b"); c.setNumber(2); list.add(b);
         * 
         * System.out.println(list.get(0).getName() + ": " +
         * list.get(0).getNumber());
         */
        // 开辟多个地址和堆块
        Been b = new Been();
        List<Been> list = new LinkedList<Been>();
    
        for (int i = 0; i < 2; i++) {
            b.setName("a" + i);
            b.setNumber(i);
            list.add(b);
        }
    
        // 开辟一个地址和多个堆块
        Been c;
        List<Been> list1 = new LinkedList<Been>();
    
        for (int i = 0; i < 2; i++) {
            c = new Been();
            c.setName("a" + i);
            c.setNumber(i);
            list1.add(c);
        }
    
        System.out.println(list.get(1).getName() + ": "
                + list.get(1).getNumber());
    
    }
    

    }

    Code is read far more than it's written
  • 相关阅读:
    再探最大公约数
    非旋treap
    初赛毒瘤汇总(持续更新中)
    架构漫谈阅读笔记五--以豆瓣得基础架构为例
    架构设计小论文
    第一阶段
    架构漫谈阅读笔记六--以淘宝数据魔方技术架构解析为例
    学习进度第八周
    架构漫谈阅读笔记一
    软件架构之 Refined Architecture阶段
  • 原文地址:https://www.cnblogs.com/ChickenTang/p/5655416.html
Copyright © 2011-2022 走看看