请您先登录,才能继续操作
Java已经丢手一年了,很遗憾。今年想转Android,所以想把Java再捡起来,首先想到的就是这本TIJ了。话说当年还买过纸质第三版的,拿在手上真的有种砖头的感觉,呵呵。现在习惯了看电子版了,方便,而且公司和家里都能很好的同步阅读,做笔记也比较方便点。
进度——41/913。
第一章,对象导论。
看到现在,整理一下几个比较重要的知识点。
组合:使用现有类组合新类,聚合:动态发生的组合,通常视为has-a关系,比如汽车拥有引擎。
组合中新类的成员对象通常声明为private,可以有极大的灵活性。
要注意区分使用组合和继承的场合。
继承:当创建了一个类后,另一个类与其具有相似的功能,但又不完全相同,可以使用继承。继承需要注意的是,当父类改变时,子类也会跟着改变。继承用关键字extends。子类也不可以使用父类的private变量和方法。
继承最经典的例子:几何形是父类,圆形、长方形、三角形是子类。
替代原则:一个子类可以完全替代父类,称为is-a关系(纯粹替代)。子类添加了新的变量或者方法,称为is-like-a关系。判断是否继承关系,就是要确定是否可以用is-a来描述类之间的关系,并使之具有实际意义。
继承的重要体现:overload,overriding。
重载(Overload):每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。只能重载构造函数
规则:1.被重载的方法必须改变参数列表;2.被重载的方法可以改变返回类型;3.被重载的方法可以改变访问修饰符;4.被重载的方法可以声明新的或更广的检查异常;5.方法能够在同一个类中或者在一个子类中被重载。
重写(Override):(注意::覆盖是子类对父类的接口abstract方法进行重新定义)能够在需要新的子类特有行为时重新在子类中定义方法。
规则:1.参数列表必须完全与被重写方法的相同;2.返回类型必须完全与被重写方法的返回类型相同;3.访问级别的限制性一定不能比被重写方法的强;4.访问级别的限制性可以比被重写方法的弱;5.重写方法一定不能抛出新的检查异常或比被重写的方法声明的检查异常更广泛的检查异常。6.重写的方法能够抛出更少或更有限的异常(也就是说,被重写的方法声明了异常,但重写的方法可以什么也不声明)。7.不能重写被标示为final的方法;8.如果不能继承一个方法,则不能重写这个方法。
区别:
区别点 重载方法 重写方法
参数列表 必须修改 一定不能修改
返回类型 可以修改 一定不能修改
异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常
访问 可以修改 一定不能做更高的限制(可以降低限制)
调用:
重载方法:
参数类型决定选择哪个重载版本(根据声明的参数类型),这发生在编译时。被调用的实际方法仍是发生在运行时期的虚拟方法调用。但是编译器已经知道所调用的方法的签名。因此,在运行时期,参数匹配已经明确,只是还不知道该方法所在的实际类。
重写方法:
对象类型(即:堆上实际实例的类型决定调用选择哪个方法,这发生在运行时期)
进度——41/913。
第一章,对象导论。
看到现在,整理一下几个比较重要的知识点。
组合:使用现有类组合新类,聚合:动态发生的组合,通常视为has-a关系,比如汽车拥有引擎。
组合中新类的成员对象通常声明为private,可以有极大的灵活性。
要注意区分使用组合和继承的场合。
继承:当创建了一个类后,另一个类与其具有相似的功能,但又不完全相同,可以使用继承。继承需要注意的是,当父类改变时,子类也会跟着改变。继承用关键字extends。子类也不可以使用父类的private变量和方法。
继承最经典的例子:几何形是父类,圆形、长方形、三角形是子类。
替代原则:一个子类可以完全替代父类,称为is-a关系(纯粹替代)。子类添加了新的变量或者方法,称为is-like-a关系。判断是否继承关系,就是要确定是否可以用is-a来描述类之间的关系,并使之具有实际意义。
继承的重要体现:overload,overriding。
重载(Overload):每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。只能重载构造函数
规则:1.被重载的方法必须改变参数列表;2.被重载的方法可以改变返回类型;3.被重载的方法可以改变访问修饰符;4.被重载的方法可以声明新的或更广的检查异常;5.方法能够在同一个类中或者在一个子类中被重载。
重写(Override):(注意::覆盖是子类对父类的接口abstract方法进行重新定义)能够在需要新的子类特有行为时重新在子类中定义方法。
规则:1.参数列表必须完全与被重写方法的相同;2.返回类型必须完全与被重写方法的返回类型相同;3.访问级别的限制性一定不能比被重写方法的强;4.访问级别的限制性可以比被重写方法的弱;5.重写方法一定不能抛出新的检查异常或比被重写的方法声明的检查异常更广泛的检查异常。6.重写的方法能够抛出更少或更有限的异常(也就是说,被重写的方法声明了异常,但重写的方法可以什么也不声明)。7.不能重写被标示为final的方法;8.如果不能继承一个方法,则不能重写这个方法。
区别:
区别点 重载方法 重写方法
参数列表 必须修改 一定不能修改
返回类型 可以修改 一定不能修改
异常 可以修改 可以减少或删除,一定不能抛出新的或者更广的异常
访问 可以修改 一定不能做更高的限制(可以降低限制)
调用:
重载方法:
参数类型决定选择哪个重载版本(根据声明的参数类型),这发生在编译时。被调用的实际方法仍是发生在运行时期的虚拟方法调用。但是编译器已经知道所调用的方法的签名。因此,在运行时期,参数匹配已经明确,只是还不知道该方法所在的实际类。
重写方法:
对象类型(即:堆上实际实例的类型决定调用选择哪个方法,这发生在运行时期)
发表评论
-
Java编程思想第四版——第二十一天
2012-05-04 12:56 5772012-05-04 163-170/913 Java编 ... -
Java编程思想第四版——第二十天
2012-05-03 13:45 7022012-05-03 158-163/913 Java编程思 ... -
Java编程思想第四版——第十九天
2012-05-02 11:08 8162012-05-02 149-158/913 Java编程思 ... -
Java编程思想第四版——第十八天
2012-04-27 13:12 10032012-04-27 142-149/913 Java编 ... -
Java编程思想第四版——第十七天
2012-04-25 11:18 7422012-04-25 138-142/913 Java编程思 ... -
Java编程思想第四版——第十六天
2012-04-24 13:50 7502012-04-24 131-138/913 Java编 ... -
Java编程思想第四版——第十五天
2012-04-23 17:14 7552012-04-23 121-131/913 Java编程思 ... -
Java编程思想第四版——第十四天
2012-04-19 11:28 6252012-04-19 118-121/913 Java编程思 ... -
Java编程思想第四版——第十三天
2012-04-18 12:08 6672012-04-18 108-118/913 Java编 ... -
Java编程思想第四版——第十二天
2012-04-09 10:58 7342012-04-09 102-108/913 Java编 ... -
Java编程思想第四版——第十一天
2012-04-05 12:21 8192012-04-05 Java编程思想第四版——第十一天 ... -
Java编程思想第四版——第十天
2012-03-31 12:03 5592012-03-31 97-102/913 Java编程思想 ... -
Java编程思想第四版——第九天
2012-03-30 14:59 6552012-03-30 80-97/913 Java编程思想第 ... -
Java编程思想第四版——第八天
2012-03-29 12:09 4832012-03-29 76-80/913 3.6 自动递增和 ... -
Java编程思想第四版——第七天
2012-03-28 12:24 6572012-03-28 70-76/913 昨天找 ... -
Java编程思想第四版——第六天
2012-03-27 13:02 5292012-03-27 66-70/913 最近两 ... -
Java编程思想第四版——第五天
2012-03-23 15:09 9452012-03-23 60-66/913 2.5 方法、参数 ... -
Java编程思想第四版——第四天
2012-03-22 12:41 5892012-03-22 54-60/913 第二章 ... -
Java编程思想第四版——第三天
2012-03-21 12:40 5702012-03-21 47-54/913 1.12 并 ... -
Java编程思想第四版——第二天
2012-03-20 13:54 730今天本来以为进度可以 ...
相关推荐
Thinking In Java-Java 编程思想(中英文版 第四版) Thinking In Java-Java 编程思想(中英文版 第四版)
java 编程思想中文第四版,包括源代码。支持JDK6。 Part6
《Thinking in Java》是Bruce Eckel创作的一部Java编程经典著作,英文版的第四版更是深受全球程序员喜爱的参考资料。这本书全面深入地介绍了Java语言,不仅适合初学者,也对有经验的程序员提供了宝贵的洞见。它以...
买这本书的人一定会想办法弄到书中源代码和课后习题答案,网上关于第四版的还真不多,所以就拿出来共享一下。 其实我也是从别人那里下载下来的,那个课后习题答案我还没有验证是不是正确,不过源代码是没有问题的。...
编程思想 第四版 kindle
《Java网络编程(第四版)》是一本深入探讨Java在互联网环境下的编程技术的经典书籍。本书旨在帮助读者理解和掌握如何利用Java语言进行高效、安全的网络通信。书中内容覆盖了从基本的网络概念到复杂的多线程编程,是...
JAVA编程思想视频讲解,分为java初级、中级以及高级,带你从基础认识java,走进Java的世界。
前几天看到公司一个大神看技术文档,打眼瞟了一下,全是英文的表示直接看看不到。但是大神不一样,人家是硕士哦,英文杠杠的,但是自己心里也想看...java网络编程第四版 java_concurrency_in_practice.pdf Java并发实践
java编程思想(第四版)笔记,自学时读的一本书。
做坦克游戏,学Java编程(四)——添加炮弹类.pdf
java经典名著,真正第四版中文完整高清PDF版 ,有完整的书籍目录,内容文字可复制,非常适合java学习和编程,豆瓣评分9.1分。是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。适合春招秋招的java...
Java编程思想是编程领域的一本经典著作,由Bruce Eckel撰写,它深入浅出地介绍了Java语言的核心概念和编程技巧。这本书旨在帮助开发者理解面向对象编程,并提供了丰富的示例来阐述如何有效地使用Java进行程序设计。...
Java编程经典——2010新版Java教程 内容详尽。。 适合大家学习
在本项目中,"学习JAVA编程,完成作业——编一个控制台梭哈游戏.zip",开发者采用Java语言创建了一个基于控制台的梭哈(Poker)游戏。这是一款非常适合初学者进行实践和学习的项目,它涵盖了Java编程基础、面向对象...
JAVA编程思想习题及答案 我收集了很多东西自己看不了 拿出来分享啊!
【标题】"HNU编程新技术实务实验一——Java语言编程"揭示了这是一份与Java编程相关的学习资源,特别关注于湖南大学(HNU)的编程新技术实务课程中的实验项目。这个实验可能涵盖基础到进阶的Java编程概念,旨在帮助...
Java全能学习面试手册——互联网企业面试真题.zip 01 java面试——北京-百度-Java中级.pdf 02 java面试——北京-京东-Java中级.pdf 03 java面试——广州-唯品会-Java大数据开发工程师.pdf 04 java面试——杭州-阿里...