`
willyiwei
  • 浏览: 10121 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Java编程思想(第四版)读书笔记之多态(Polymorphism)

阅读更多
我读的是Java编程思想第四版英文版(Thinking in Java, 4th Edition)。

这本书果然是讲解Java基础以及OOP思想的神作!对于很多Java的基础内容讲得都很到位,没有那种一掠而过的感觉。在读的过程中,有很多启发性的瞬间,常常会给人一种恍然大悟的感觉——噢,原来这个概念是应该这样理解的,同时也能了解到是怎样将这些概念应用到实际开发中的。当然其中也有很多部分是在初读的时候无法深刻理解的,于是就有了反复思考、咀嚼的过程。

结果今天突然想到,如果能把这些感悟和思考统统记录下来,不仅自己可以在今后反过头来参考,而且还可以与广大的开发者分享我的思想,得到高人的指正,一举两得。这样就有了这系列的Java编程思想第四版的读书笔记。

由于我现在正读到了多态(Polymorphism)一章,因此我的读书笔记就将从多态写起。之前的章节和内容我打算以后在进行补充。

Java编程思想第四版读书笔记(一)(就暂定为第一篇吧!)
多态(Polymorphism)

1.最基础但是最难说清楚的问题——什么是多态?
----
简单地说,多态就是“多种形态”。在面向对象编程语言中,这就意味着从父类继承了相同的公共接口,但在使用这些接口的时候,会呈现出不同的形式与形态——实际调用的是经过动态绑定之后的已被覆写而变得有所不同的方法。

要理解这其中的含义,我觉得最好还是从对象在内存中的分布来看。

在使用了向上转型(upcast)之后,指向一个对象的引用,其类型是该对象的基类类型,但实际上内存中的对象仍然为继承子类的实例,因此在调用相应的方法的时候,会调用该实例中的具体方法,而不是基类中的抽象方法。

不同的子类对象会调用不同子类对象中的对应方法,于是就呈现出来“多态”的情况。

事实上,多态是离不开继承和数据抽象的,可以从下面一项看出。

2.多态3条件
----
  • 继承;
  • 覆写;
  • 父类引用指向子类对象。

3.向上转型(Upcasting)
----
对象既可以作为它自己本身的类型使用,也可以作为基类型使用。把某个对象的引用视为对其基类型的引用的做法就叫做向上转型。

4.一定要多加留意“覆写私有方法”这种不易察觉的错误
----
父类的私有方法,默认也是被final修饰的,并且对子类来说也是不可见的,因此根本不能被继承,当然也就不能被覆写(override)了。
如果不小心错误地在子类中“覆写”了一个父类的私有方法,一定要注意,这其实是一个全新的方法,而非继承而来。
这种错误编译器是检查不出来的,因此需要程序员多加留意。
分享到:
评论

相关推荐

    Java编程思想_第4版—习题答案.rar

    《Java编程思想》是 Bruce Eckel 的经典著作,第四版更是深受广大Java程序员喜爱的一本教程。这本书深入浅出地介绍了Java语言的核心概念和技术,包括面向对象编程、类与对象、封装、继承、多态、异常处理、输入/输出...

    多态Polymorphism3---马克-to-win java视频

    多态 Polymorphism 马克-to-win java视频的详细介绍

    多态Polymorphism5---马克-to-win java视频

    多态 Polymorphism 马克-to-win java视频的详细的介绍

    Java编程思想【第四版·习题答案】

    《Java编程思想》是Bruce Eckel的经典之作,第四版更是深受全球Java程序员的推崇。这本书深入浅出地介绍了Java语言的各个方面,从基础语法到高级特性,为读者提供了全面而透彻的理解。附带的习题答案是学习过程中不...

    多态Polymorphism4---马克-to-win java视频

    多态Polymorphism 马克-to-win java视频的详细描述介绍

    多态Polymorphism1---马克-to-win java视频

    多态 Polymorphism 马克-to-win java视频的详细描述介绍

    Think in JAVA 编程思想 第四版 清晰扫描版

    综上,这本《Think in JAVA 编程思想》第四版涵盖了Java语言的各个方面,无论你是初学者还是经验丰富的开发者,都能从中受益。通过学习和实践书中的知识点,将有助于提升你的编程能力和问题解决能力。

    Java 编程思想中文第三版(PDF)

    《Java编程思想》是Java开发领域的一本经典著作,由Bruce Eckel撰写,中文第三版则是针对中国读者的翻译版本,旨在帮助读者深入理解和掌握Java编程语言。这本书以清晰、简洁的语言介绍了Java的核心概念和技术,适合...

    java编程思想读书笔记

    《Java编程思想》是 Bruce Eckel 的经典著作,这本书深入浅出地讲解了Java语言的核心概念和编程技术。这份读书笔记记录了读者在研读此书过程中的理解和体会,涵盖了从基础语法到高级特性的全面解析。以下是笔记中...

    java变成思想第四版中文版 练习题答案

    《Java编程思想》是 Bruce Eckel 的经典著作,第四版更是深受广大Java程序员喜爱。这本书深入浅出地讲解了Java语言的核心概念和技术,包括面向对象编程、类与对象、继承与多态、接口、异常处理、集合框架、泛型、...

    JAVA编程思想(第四版)课后答案.docx

    本文档提供了 JAVA 编程思想(第四版) 的课后答案,涵盖了 Java 语言的基本概念、对象、类、继承、多态、接口、异常处理等方面的知识点。 知识点1:Java 基本数据类型 * Java 中有八种基本数据类型:byte、short、...

    JAVA编程思想(第四版)课后答案.pdf

    Java 编程思想(第四版)课后答案.pdf 涵盖了 Java 编程的基本概念和技术,包括变量、类、方法、静态变量和静态方法、局部变量和成员变量、数组和字符串、继承和多态等。这些知识点对于学习 Java 编程思想非常重要。

    java 编程思想中文版 及 习题

    此外,第三版的《Java编程思想》还可能包含了Java语言的新特性和更新,例如Generics(泛型)、枚举类型、异常处理的改进、集合框架的增强以及并发编程的相关内容。这些新特性让Java更加强大,适应现代软件开发的需求...

    Java编程思想笔记

    ### Java编程思想笔记 #### 重要知识点概览 在深入探讨《Java编程思想笔记》时,我们可以提炼出一系列核心概念和技巧,它们是理解和掌握Java编程语言的关键。本笔记覆盖了从基本的数据类型、对象创建到高级的多态...

    Java编程思想-笔记.docx

    本笔记涵盖了Java编程思想的多个方面,包括访问权限控制、封装、继承、多态、接口、内部类、持有对象等。 访问权限控制 访问权限控制是为了把变动的事物与保持不变的事物区分开来。Java中有四种访问权限修饰词:...

    java 笔记, 讲解多态 面向对象

    ### Java面向对象编程中的多态性详解 #### 一、面向对象编程概述 在Java语言中,面向对象编程(Object-Oriented Programming, OOP)是一种编程范式,它通过将程序分解为一系列相互作用的对象来组织代码。这种方式...

    Java编程思想第08章多态.ppt

    【多态】是面向对象编程中的一个核心概念,它允许我们使用同一个接口或者方法来处理不同类型的对象。在Java中,多态性是通过继承、接口和方法的重写来实现的,它使得代码更加灵活,提高了代码的可扩展性和复用性。 ...

    Java编程思第四版习题答案

    Java编程思想第四版是经典Java学习书籍,涵盖了Java语言的核心概念和高级特性。习题答案则是辅助学习者理解和掌握这些知识的重要工具。本资源包含了针对该书的习题解答,帮助读者解决在学习过程中遇到的问题,提升...

    Java面向对象编程思想.pdf

    Java 面向对象编程思想是 Java 编程语言的核心思想之一,通过封装、继承和多态三个特征,实现代码的重用和可维护性。 一、封装 封装是 Java 面向对象编程的三大特征之一,通过 Java 的类来实现数据和操作方法的...

    Java-多态--学习笔记.docx

    Java中的多态性是面向对象编程的一个核心特性,它允许我们设计更加灵活和可扩展的代码。在Java中,多态性(Polymorphism)主要体现在两个方面:方法的重写(Overriding)和接口的实现(Interface Implementation)。...

Global site tag (gtag.js) - Google Analytics