黑马程序员技术交流社区

标题: 对象创建实例增强 [打印本页]

作者: 龚建锋    时间: 2012-7-26 13:53
标题: 对象创建实例增强
package com.day07;
class PurposeDemo {

public static void main(String[] args) {
  // 创建若干目的对象, 给目的指定名字
  Purpose p1 = new Purpose();
  Purpose p2 = new Purpose();
  Purpose p3 = new Purpose();
  p1.name = "求学";
  p2.name = "游玩";
  p3.name = "定居";
  
  // 创建城市对象, 给城市指定名字, 将目的装入数组中
  City c = new City();
  c.name = "北京";
  c.purposeArr = new Purpose[]{p1, p2, p3};
  
  // 创建人对象, 指定名字
  Person p = new Person();
  p.name = "张三";
  
  // 求学, 得到一个结果
  Purpose result = p.come(c, "求学");
  
  // 判断有没有来的目的
  if (result != null)
   System.out.println(  p.name +"来"+ c.name  +"的真正目的是"+ result.name);
  else
   System.out.println(p.name + "来" + c.name + "什么目的都没有");
}

}
class Purpose {    // 目的
String name;   // 具体目的的名字
}
class City {    // 城市
String name;   // 城市的名字
Purpose[] purposeArr; // 来这个城市的不同目的, 可以有多种目的

Purpose activity(String name) {  // 城市提供的活动方法
  for (int i = 0; i < purposeArr.length; i++) { // 循环遍历目的数组
   if (purposeArr[i].name == name) {   // 判断是否是来的目的
    return purposeArr[i];     // 如果有来的目的, 将目的返回
   }
  }
  return null;  // 循环结束后都没有返回, 则代表没有这样的目的, 返回null
}
}
class Person {    // 人
String name;   // 人的名字

Purpose come(City city, String name) {  // 人去城市的功能, 需要指定哪个城市, 去的目的, 返回来的目的
  return city.activity(name);  // 调用调用城市come功能, 将去城市的目的返回
}
}
//当数组中有目的是运行结果如图1,没有目的运行结果如图2:

1.jpg (18.71 KB, 下载次数: 9)

图1

图1

2.jpg (15.2 KB, 下载次数: 11)

图2

图2





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2