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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© liudh1 中级黑马   /  2016-4-22 08:54  /  571 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.util.ArrayList;
/**
* 1、分析运行结果,说明原理。(没有分析结果不得分)
*
* 分析:运行结果为:三个102
*     1:一个Data类,成员变量为val,数据类型为int
*     2:在main主方法中,Data data = new Data(),创建了一个Data类的对象data;
* ArrayList<Data> list = new ArrayList<Data>(),创建了一个集合ArrayList类的对象list,其泛型为Data;
* 在for循环中 data.val = i对Data的成员变量val进行赋值,一共循环3次,i=100,101,102,
* list.add(data),向list集合中添加data对象,因为只new了一次对象,所以添加的三个data对象是同一个
* 对象;for (Data d : list):利用增强for循环对list进行遍历;向控制台输出data.val,因为在for循环
* 中对成员变量赋值3次,最后一次赋值data.val = 102,所以成员变量val的值为102;最后输出为3个102      
*/
class Data {

    int val;
@Override
public String toString() {
  return "Data [val=" + val + "]";
}
}
public class Test01 {
/**
  * @param args
  */
public static void main(String args[]) {
        Data data = new Data();
        ArrayList<Data> list = new ArrayList<Data>();
   
        for (int i = 100; i < 103; i++) {
            data.val = i;
            list.add(data);
        }
   
        for (Data d : list) {
            System.out.println(data.val);
        }
}
}

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马