《thinking in java》中提到程序员分两种:类创建者 和 客户端程序员
private 可以保护那些类创建者不想让 客户端程序员访问的变量,以免破坏类的正常逻辑。
我觉得这个观点很有意思,让我联想到
即使是public 方法亦有被客户端程序员间接破坏的情况。这里的间接破坏就是客户端程序员自己新起类,继承(extends)第三方类,重写其方法。比如 CustomizeHashMap extends HashMap,
重写 add 方法。 你可以会在使用 CustomizeHashMap 的addAll 方法中出现问题。这是因为 在 父类HashMap中 addAll 使用了 add 方法,但是没有任何地方告诉客户端程序员,除非你去阅读源码 或者询问 类创建者。
在此同时《设计模式》(作者四人帮)中描述组合模式(composition )时, 鼓励 客户端程序员 在实现扩展 第三方lib 类,最好使用组合模式。因为组合模式可以扩展第三方类但是达到不破坏的独特功效,实在是客户端程序员居家旅行必备良药。
分享到:
相关推荐
这个压缩包文件“SourceCode-for-Thinking-in-Java.chm.zip_in”包含了与《Thinking in Java》一书配套的源代码,是学习和实践Java编程的宝贵资源。 在书中,作者通过丰富的示例和详尽的解释,引导读者思考如何使用...
《Thinking in Java》是Bruce Eckel的经典编程教材,第四版更是深受广大Java程序员喜爱。这本书以其深入浅出的讲解方式,全面系统地介绍了Java语言的核心概念和技术。在解答该书的练习题时,我们可以深入理解Java...
《Thinking in Java》是 Bruce Eckel 编著的一本经典的Java编程教材,它深受程序员喜爱,被誉为学习Java的必备参考书。这本书全面深入地探讨了Java语言的核心概念和技术,不仅适合初学者,也对有经验的程序员提供了...
在《Thinking in Java》一书中,作者Bruce Eckel强调了面向对象编程的核心原则和技术细节,特别是Java语言中的类、对象以及访问控制等核心概念。本书中提到了类库(library)的重要性及其如何被客户端程序员所使用。...
《Thinking in Java》是Bruce Eckel的经典Java编程教材,它以其深入浅出的讲解和丰富的实例赢得了广大程序员的赞誉。这个源码包包含了第4版的开发源码,旨在帮助读者更好地理解书中所阐述的概念和原理。以下是基于...
7. **网络编程**:Java提供了Socket和ServerSocket类进行网络通信,可以创建客户端和服务器端应用。此外,还有URL、URLConnection等类用于访问网络资源。 8. **反射机制**:Java的反射机制允许在运行时动态地获取类...
《The Thinking in Java》是 Bruce Eckel 所著的一本经典Java编程教材,以其深入浅出的讲解方式深受程序员喜爱。这本书旨在引导读者深入理解Java语言的核心概念和机制,不仅覆盖了基础语法,还包括高级特性如多线程...
11. **设计模式**:作为程序员的通用智慧结晶,设计模式在《Thinking in Java》中也会有所涉及,比如单例模式、工厂模式、观察者模式等。 12. **测试**:包括JUnit框架和其他单元测试工具的使用,以及测试驱动开发...
《Thinking in Java 3rd Edition》是一本深受程序员喜爱的经典Java编程教材,由Bruce Eckel撰写。这本书以其深入浅出的讲解方式,详尽全面的内容覆盖,为学习者提供了掌握Java编程的坚实基础。第三版出版时,Java...
《Thinking in Java》是Java编程领域的一本经典著作,由Bruce Eckel撰写,深受程序员喜爱。这本书深入浅出地介绍了Java语言的核心概念和技术,旨在帮助读者建立起扎实的面向对象编程思维。以下是对这本书中关键知识...
《Thinking in Java》是Bruce Eckel的经典编程教材,它深入浅出地介绍了Java语言的核心概念和技术。这本书以其全面性、深度和清晰的讲解而受到广大程序员的推崇,是Java学习者的必读之作。这里我们主要关注的是其源...
在《Thinking in Java》第三版中,作者会深入讲解如何设计和实现类,以及如何利用继承、封装和多态等核心OOP概念。 2. **基础语法**: 书中涵盖了Java的基础语法,包括变量、数据类型、控制结构(如if语句、for循环...
《Thinking in Java》是Bruce Eckel的经典之作,第二版针对初学者和有经验的Java开发者提供了深入、全面的Java编程知识。这本书以其清晰的逻辑和深入的解释闻名,被誉为理解Java语言思想的重要参考资料。 在Java...
1. 面向对象编程:《Thinking in Java》强调了Java的面向对象特性,包括类、对象、继承、封装和多态等基本概念。书中通过实例讲解如何设计和实现类,如何利用继承来实现代码重用,以及如何利用多态性来提高程序的...
《Thinking in Java 2nd习题及答案》是学习Java编程的重要参考资料,它基于Bruce Eckel的《Thinking in Java》第二版,提供了书中的习题解答,帮助读者深入理解和掌握Java语言的核心概念与技术。这本书涵盖了Java...
《Thinking in Java》是Bruce Eckel的经典之作,它是一本深度和广度并重的Java编程教程,适合从初学者到高级开发者的各个层次。这本书以其深入浅出的讲解方式和丰富的实例,深受全球程序员的喜爱。中英文双语版更是...
《Thinking in Java》是Bruce Eckel的经典编程教材,第四版(4th Edition)更是深受全球程序员喜爱。这本书深入浅出地介绍了Java编程语言的核心概念和技术,涵盖了从基础语法到高级特性的广泛内容。以下是该书及其...
2. **面向对象编程**:Java是一种面向对象的语言,因此《Thinking in Java》深入讨论了类、对象、封装、继承和多态等面向对象编程的基本原则。书中通过丰富的示例,帮助读者理解如何设计和实现具有复用性和扩展性的...
《Thinking in Java 4th Edition》是Java编程领域的一本经典教材,由Bruce Eckel撰写。这本书深入浅出地介绍了Java语言的核心概念和技术,包括面向对象编程、泛型、集合框架、多线程、网络编程等多个方面。第四版在...