`
dandy
  • 浏览: 67244 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

同一性的危机

    博客分类:
  • java
阅读更多
出自《java puzzle》


下面的程序是不完整的,它缺乏对Enigma的声明,这个类扩展自java.lang.Object。请为Enigma提供一个声明,它可以使该程序打印false:

public class Conundrum {
public static void main(String[] args) {
Enigma e = new Enigma();
System.out.println(e.equals(e));
}
}


噢,还有一件事:你不能覆写equals方法。
乍一看,这似乎不可能实现。因为Object.equals方法将测试对象的同一性,通过Enigma传递给equals方法的对象肯定是与其自身相同的。如果你不能覆写Object.equals方法,那么main方法必然打印true,对吗?
别那么快下结论,伙计。尽管本谜题禁止你覆写(override)Object.equals方法,但是你是可以重载(overload)它的,这也就引出了下面的解谜方案:

final class Enigma {
// Don’t do this!
public Boolean equals(Enigma other){
return false;
}
}


尽管这个声明能够解决本谜题,但是它的做法确实非常不好的。如果同一个方法的两个重载版本都可以应用于某些参数,那么它们应该具有相同的行为。在本例中,e.equals(e)和e.equals((Object)e)将返回不同的结果,其潜在的混乱是显而易见的。
然而,有一种解谜方案是不会违反这项建议的:
final class Enigma {
public Enigma() {
System.out.println(false);
System.exit(0);
}
}
可能会有些争论,这个解谜方案似乎违背了本谜题的精神:能够产生我们想要的输出的println调用出现在了构造器中,而不是在main方法中。然而,它确实解决了这个谜题,你不得不承认它很伶俐。
这里的教训,如果你重载了一个方法,那么一定要确保所有的重载版本行为一致。
2
0
分享到:
评论

相关推荐

    埃里克森的自我同一性形成与影响因素.doc

    艾里克森强调,教育在帮助青少年解决同一性危机中的作用至关重要。教育者应当鼓励青少年进行自我探索,提供多元化的体验机会,让他们有机会尝试不同的角色和可能性,从而有助于他们形成健康的自我同一性。 此外,...

    教师资格证材料二十题.doc

    教师可以通过帮助学生了解自我,探索个人兴趣和潜力,建立合理的职业期待,以协助他们解决自我同一性危机。 【知识点4】德育原则 王老师对林的教育遵循了"尊重与严格要求相结合"的原则,理解并关心林,同时对其行为...

    教你如何破解办公室“流言蜚语”.doc

    此外,董如峰还分析说,如果再往深处挖办公室流言这个让无数人摔了跟头的“大坑”,会发现它真正的“幕后黑手”叫“同一性危机”,就是新弗洛伊德主义者埃里克森提出的著名八阶段理论中的“同一性对同一性”。...

    《青少年心理发展与教育》结业考试题.pdf

    10. **同一性延缓**:这是青少年在形成个人同一性时可能会经历的阶段,他们在做重大决定之前会探索多种可能性,长时间的延缓可能表明他们正在努力解决同一性危机。 选择题中的知识点表明,随着青春期的到来,青少年...

    2009年心理咨询师(二级)考试模拟试题及答案解析(二)[文].pdf

    当个体深陷“我是什么人”、“我该怎么做”的思考中,可能面临同一性危机,这是青少年时期常见的心理挑战。 6. **幼儿的主导活动**: 游戏是幼儿期的主要活动形式,通过游戏,幼儿可以学习社会规则,发展认知和...

    大学生心理健康教育考试答案2019.pdf

    34. 《同一性危机》的作者:艾瑞克森。 35. 六七十年代的人面临:物质匮乏。 36. 大学生在成年早期的任务:人格成熟。 37. 大学生最重要的任务:本专业的学习。 38. 利他与利己的平衡:平衡在于自己给予与收获的...

    大学生心理危机的识别与干预.pptx

    青年人处于艾里克逊的心理社会发展理论的“自我同一性-同一性混乱”阶段,他们在寻找自我认同的过程中容易产生心理困扰。同时,青年人的情绪活动具有两极性,思维也有其局限,比如自我意识强烈但主体意识缺失,对...

    资本主义周期性经济危机实用.pdf

    资本主义周期性经济危机是19世纪以来资本主义经济体中反复出现的一种经济现象,它与资本主义生产方式的内在矛盾密切相关。在19世纪20年代以后,随着资本主义机器大工业的快速发展,经济危机开始变得更为频繁和普遍。...

    企业危机根源之习俗危机与领导危机.doc

    对于领导危机,企业应提前规划接班人策略,确保平稳过渡,并保持企业战略的连续性和稳定性。\n\n总结来说,企业要克服习俗危机和领导危机,必须深入理解市场文化,灵活调整战略,同时注重领导力的培养和传承,以确保...

    九年级历史下册 第一单元第4课经济大危机同步训练 人教新课标版.doc

    1. 经济大危机的时间:经济大危机始于1929年,结束于1933年,这是一场破坏性极大的全球性经济危机。 2. 危机起源:这场危机首先从美国开始,然后迅速蔓延到整个资本主义世界。 3. 危机的特点:危机的特点包括破坏...

    建立危机管理系统.docx

    1. **危机管理的重要性**:企业管理者需认识到危机管理是企业生存和发展不可或缺的部分,预警系统仅是管理的一部分,而建立全面的危机管理系统才能更有效地应对危机。 2. **危机管理方案的构成**:优秀的危机管理...

    危机公关实务技巧培训课件.pptx

    危机公关是组织在面对突发性危机事件时,为了保护组织的形象、声誉和利益,通过有效的策略和手段进行管理和应对的一项重要工作。危机公关涉及到多个层面,包括预防、响应、恢复等多个阶段,对于技术领域的公司来说,...

    37 危机管理作业指引.doc

    - **历史分析**:研究公司及同行业过去发生的危机,以预测可能在公司出现的类似问题。 - **规划分析**:分析未来规划中可能出现的风险点,评估潜在影响。 - **目标群体识别**:确定可能受危机影响的目标受众,...

    生成式创造:直面业务“危机”,上下同欲重启增长

    **结构性危机**需要**结构性解决之道**。这意味着企业必须从根本上重新审视自身的商业模式和技术基础,寻找新的增长点。 #### 二、What:如何应对危机 ##### 危机中的要素分析 为了更好地理解危机,并找到解决...

    会展危机公关处理案例.doc

    2003年非典期间,XX车展遭遇的危机就是一个典型的例子,它揭示了如何有效进行会展危机公关处理的重要性。这篇文档分析了XX车展在非典肆虐时的应对策略,展示了危机管理在维护企业形象、降低损失以及转危为机中的关键...

    (完整word版)2018年人教版高中政治必修四第九课唯物辩证法的实质与核心同步练习含解析.docx

    3. 矛盾的同一性与斗争性:选用人才既要“有格”又要“无格”,体现了矛盾的斗争性和同一性的关系,既要看到矛盾的斗争性,即标准的存在,也要注意矛盾的同一性,即在标准之下保持灵活性(①③选项)。 4. 矛盾的同...

    专题资料(2021-2022年)RFKFZY05危机管理作业指引DOC7页.doc

    危机管理是企业在面临潜在威胁时采取的一系列预防、应对和恢复策略,旨在减少风险对企业的负面影响,保护公司的声誉、资产和长期稳定性。广州富力地产股份有限公司的"危机管理作业指引"文件详细阐述了其危机管理流程...

    新媒体时代的企业危机管理策略.docx

    另一方面,企业需建立有效的危机传播策略,利用新媒体的实时性和互动性,主动发布信息,引导舆论,减少误解,增强公众的信任。 同时,企业还要注重危机恢复阶段的管理,通过新媒体平台向公众展示危机处理的进展和...

    微博营销经典案例巧用微博应对危机公关.pdf

    微博因其实时性、广泛性和互动性,成为了企业迅速发现并应对危机的重要工具。以下是对微博营销经典案例——“美的惊动了党”事件的分析,以及如何巧妙运用微博应对危机公关的知识点。 1. 监测发现危机阶段: 在这...

Global site tag (gtag.js) - Google Analytics