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 5862012-05-04 163-170/913 Java编 ... -
Java编程思想第四版——第二十天
2012-05-03 13:45 7112012-05-03 158-163/913 Java编程思 ... -
Java编程思想第四版——第十九天
2012-05-02 11:08 8242012-05-02 149-158/913 Java编程思 ... -
Java编程思想第四版——第十八天
2012-04-27 13:12 10142012-04-27 142-149/913 Java编 ... -
Java编程思想第四版——第十七天
2012-04-25 11:18 7492012-04-25 138-142/913 Java编程思 ... -
Java编程思想第四版——第十六天
2012-04-24 13:50 7532012-04-24 131-138/913 Java编 ... -
Java编程思想第四版——第十五天
2012-04-23 17:14 7652012-04-23 121-131/913 Java编程思 ... -
Java编程思想第四版——第十四天
2012-04-19 11:28 6312012-04-19 118-121/913 Java编程思 ... -
Java编程思想第四版——第十三天
2012-04-18 12:08 6722012-04-18 108-118/913 Java编 ... -
Java编程思想第四版——第十二天
2012-04-09 10:58 7432012-04-09 102-108/913 Java编 ... -
Java编程思想第四版——第十一天
2012-04-05 12:21 8272012-04-05 Java编程思想第四版——第十一天 ... -
Java编程思想第四版——第十天
2012-03-31 12:03 5672012-03-31 97-102/913 Java编程思想 ... -
Java编程思想第四版——第九天
2012-03-30 14:59 6862012-03-30 80-97/913 Java编程思想第 ... -
Java编程思想第四版——第八天
2012-03-29 12:09 4922012-03-29 76-80/913 3.6 自动递增和 ... -
Java编程思想第四版——第七天
2012-03-28 12:24 6652012-03-28 70-76/913 昨天找 ... -
Java编程思想第四版——第六天
2012-03-27 13:02 5362012-03-27 66-70/913 最近两 ... -
Java编程思想第四版——第五天
2012-03-23 15:09 9492012-03-23 60-66/913 2.5 方法、参数 ... -
Java编程思想第四版——第四天
2012-03-22 12:41 5962012-03-22 54-60/913 第二章 ... -
Java编程思想第四版——第三天
2012-03-21 12:40 5782012-03-21 47-54/913 1.12 并 ... -
Java编程思想第四版——第二天
2012-03-20 13:54 737今天本来以为进度可以 ...
相关推荐
买这本书的人一定会想办法弄到书中源代码和课后习题答案,网上关于第四版的还真不多,所以就拿出来共享一下。 其实我也是从别人那里下载下来的,那个课后习题答案我还没有验证是不是正确,不过源代码是没有问题的。...
总的来说,这份《Java简明教程(第4版)——皮德常版》压缩包是一个全面的学习资源,适合那些希望快速入门或提高Java编程技能的人。通过源码实践、理论学习和习题训练,你可以逐步掌握Java语言,为未来的职业发展...
Thinking In Java-Java 编程思想(中英文版 第四版) Thinking In Java-Java 编程思想(中英文版 第四版)
这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。
前几天看到公司一个大神看技术文档,打眼瞟了一下,全是英文的表示直接看看不到。但是大神不一样,人家是硕士哦,英文杠杠的,但是自己心里也想看...java网络编程第四版 java_concurrency_in_practice.pdf Java并发实践
java编程思想(第四版)笔记,自学时读的一本书。
做坦克游戏,学Java编程(四)——添加炮弹类.pdf
文旦含有java编程思想一书中前9章的PPT 还附有几个基础型的编程代码 如乘法表: public class Chengfabiao { public static void main(String[] args) { for (int i = 1; i ; i++) {// 从1开始循环到9 for ...
描述中的“Java实验报告———JavaSwing编程.pdf”暗示了一篇文档的标题和内容,记录了一次关于Java Swing编程的实验。该文档可能包含实验目的、实验环境配置、实验步骤、实验代码以及实验结果等部分。 由于提供的...
利用Java进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf
java经典名著,真正第四版中文完整高清PDF版 ,有完整的书籍目录,内容文字可复制,非常适合java学习和编程,豆瓣评分9.1分。是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。适合春招秋招的java...
这是一个chm格式的中文 C++编程思想 ,看起来效果不错,可供C++开发人员参考,值得珍藏!
Java编程经典——2010新版Java教程 内容详尽。。 适合大家学习
JAVA 编程思想第四版 很好的一本书 基础不错的可以下来看看
Java 8 函数式编程是指在 Java 8 中引入的一种新的编程范式,它强加了额外的约束,即所有数据必须是不可变的,设置一次,永不改变。函数式编程将值传递给函数,该函数然后生成新值但从不修改自身外部的任何东西,不...
在本项目中,"学习JAVA编程,完成作业——编一个控制台梭哈游戏.zip",开发者采用Java语言创建了一个基于控制台的梭哈(Poker)游戏。这是一款非常适合初学者进行实践和学习的项目,它涵盖了Java编程基础、面向对象...
JAVA编程思想习题及答案 我收集了很多东西自己看不了 拿出来分享啊!