JDK用运用了什么限制添加到set的对象是唯一

来源:百度知道 编辑:UC知道 时间:2024/05/26 09:39:31
A抽象工厂(ablstract factory) B:命令模式(command)
c:单一模式(singleton) D:代理模式(Proxy)

单一模式(singleton)

- -!
这跟设计模式无关
两个方法 equals() 和 hashCode()

你可以改一下 hashCode方法的实现 试验一下

答案 C

原因:
A: 在java什么叫工厂? 工厂是用来生产对象的。被定义工厂
举例:
类的情况是: 有 员工类 做父类, 员工类下面有 男员工和女员工两个子类
生成对象时可以直接生成员工对象,也可以生成男员工,也可以生成女员工

需求: 经理说,人事部负责给我安排一个人下班后打扫一下卫生。
工厂: 人事部,(考虑一下,是给安排一个男的还是安排一个女的)最后生产出来
对象: 某个男士或女士
所以结果不是唯一的!

B: 命令模式:
简单点说就是下达命令的人只需要做2点:
下达命令内容、指出是对谁下的命令就行了,至于命令怎么被实现的一概不管

例子中经理就应该是命令模式,
他下达命令,叫人给我打扫卫生
至于是叫谁去打扫,是男是女,他不管,他只要看到结果, 其它的事情是人事部的问题;
也不是唯一的

C. 单一模式
工厂生产对象, 如果每次保证生产出来的是同一个对象,那就是单一模式。
如果人事部只有一名员工, 打扫卫生是他,订报、考勤全是他一个人,那就适合了单一模工。
String类的设计就是单一模式
String str1="aaa";
String str2="aaa";
结果是 str1==str2
原因是虚拟机只会在内存中生成一次"aaa"
str1和str2的引用指针都指向这块内存区

D: 代理模式
某董事长出差,但是此时公司有个聚会,董事长买单,但是由他的秘书去结帐。我们就权且把这个看作一个代理行为。
黄静状告华硕案中,黄静是被害人,但是她不懂法律,所以他委托周某做为她的