一道关于单例模式的题
本帖最后由 daituzhang 于 2013-09-05 07:37:33 编辑
我是java零基础者,靠google和baidu在解这道题,如果有低级错误望各位大神抽打
因为题目原文是英文,我翻译可能有点不准确:
1)建立一个叫做Organization的类,它不能被实例化超过一次但是可以提供给全局。它包含仅一个叫做getMembers 的public method,返回一个collection.
2) 建立另一个叫做Member的类,publicly exposes(公共得包括?) FirstName, lastName 和 DateJoined bean properties,请使用合适的数据类型
3)建立第三个叫做OrganizationHelper的类,包含一个method用于输出Organization类中所有Members的数据。输出的类型随意。
然后我就开始纠结了,第一小题我百度下来应该是个单例模式的问题,collection我觉着有点像c++里面的containers,我就用了ArrayList.但是这个ArrayList到底怎么获取member的信息我却想不清楚。然后因为根据单例模式,这个类必须向整个系统提供这个实例对象,那么要怎么同时又返回一个collection呢?还是说这个实例对象本身就是一个collection?所以我两个method就分开了,只有getMember设成了public
第二小题我又纠结什么是bean property,百度到javaBean但是好像是和html结合起来用的,我是不是对bean property这两个单词过度理解了?
第三小题我只是放了打印的代码……但是那个method名字叫XXhelper,C++面向对象里面helper函数是在类外面的,我不清楚java是不是也有这种区别,所以我就只做了个把它作为像main一样的class了
代码如下,虽然得到了结果,但是我很怀疑错过了几个关键的点
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
class Organization {
ArrayList<Member> List = new ArrayList<Member>();
void add(Member temp)
{
List.add(temp);
}
private static Organization instance=null;
private Organization(){}
static Organization getInstance(){
if(instance==null)
instance=new Organization();
return instance;
}
public ArrayList<Member> getMembers()
{
return List;
}
}
class Member
{
public String firstName;
public String lastName;