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 5962012-05-04 163-170/913 Java编 ... -
Java编程思想第四版——第二十天
2012-05-03 13:45 7272012-05-03 158-163/913 Java编程思 ... -
Java编程思想第四版——第十九天
2012-05-02 11:08 8372012-05-02 149-158/913 Java编程思 ... -
Java编程思想第四版——第十八天
2012-04-27 13:12 10232012-04-27 142-149/913 Java编 ... -
Java编程思想第四版——第十七天
2012-04-25 11:18 7572012-04-25 138-142/913 Java编程思 ... -
Java编程思想第四版——第十六天
2012-04-24 13:50 7582012-04-24 131-138/913 Java编 ... -
Java编程思想第四版——第十五天
2012-04-23 17:14 7752012-04-23 121-131/913 Java编程思 ... -
Java编程思想第四版——第十四天
2012-04-19 11:28 6372012-04-19 118-121/913 Java编程思 ... -
Java编程思想第四版——第十三天
2012-04-18 12:08 6742012-04-18 108-118/913 Java编 ... -
Java编程思想第四版——第十二天
2012-04-09 10:58 7562012-04-09 102-108/913 Java编 ... -
Java编程思想第四版——第十一天
2012-04-05 12:21 8352012-04-05 Java编程思想第四版——第十一天 ... -
Java编程思想第四版——第十天
2012-03-31 12:03 5752012-03-31 97-102/913 Java编程思想 ... -
Java编程思想第四版——第九天
2012-03-30 14:59 7122012-03-30 80-97/913 Java编程思想第 ... -
Java编程思想第四版——第八天
2012-03-29 12:09 5022012-03-29 76-80/913 3.6 自动递增和 ... -
Java编程思想第四版——第七天
2012-03-28 12:24 6702012-03-28 70-76/913 昨天找 ... -
Java编程思想第四版——第六天
2012-03-27 13:02 5412012-03-27 66-70/913 最近两 ... -
Java编程思想第四版——第五天
2012-03-23 15:09 9552012-03-23 60-66/913 2.5 方法、参数 ... -
Java编程思想第四版——第四天
2012-03-22 12:41 6012012-03-22 54-60/913 第二章 ... -
Java编程思想第四版——第三天
2012-03-21 12:40 5912012-03-21 47-54/913 1.12 并 ... -
Java编程思想第四版——第二天
2012-03-20 13:54 743今天本来以为进度可以 ...
相关推荐
java编程思想第四版课后答案 java编程思想 java编程思想第四版课后答案 java编程思想第四版课后答案java编程思想第四版课后答案
买这本书的人一定会想办法弄到书中源代码和课后习题答案,网上关于第四版的还真不多,所以就拿出来共享一下。 其实我也是从别人那里下载下来的,那个课后习题答案我还没有验证是不是正确,不过源代码是没有问题的。...
总的来说,这份《Java简明教程(第4版)——皮德常版》压缩包是一个全面的学习资源,适合那些希望快速入门或提高Java编程技能的人。通过源码实践、理论学习和习题训练,你可以逐步掌握Java语言,为未来的职业发展...
Thinking In Java-Java 编程思想(中英文版 第四版) Thinking In Java-Java 编程思想(中英文版 第四版)
这是一本经典之作。本书的作者拥有多年教学经验,对C、C++以及Java语言都有独到、深入的见解,以通俗易懂及小而直接的示例解释了一个个晦涩抽象的概念。
前几天看到公司一个大神看技术文档,打眼瞟了一下,全是英文的表示直接看看不到。但是大神不一样,人家是硕士哦,英文杠杠的,但是自己心里也想看...java网络编程第四版 java_concurrency_in_practice.pdf 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进行疫情大数据分析——“Java面向对象程序设计”课程实践教学设计研究.pdf
《Java编程思想》第四版是一本经典的Java编程书籍,由Bruce Eckel编写,全面而深入地介绍了Java语言。该书被广泛认可为学习Java语言的重要资源,尤其适合有一定编程基础,希望深入理解Java及其编程范式的读者。 ## ...
java经典名著,真正第四版中文完整高清PDF版 ,有完整的书籍目录,内容文字可复制,非常适合java学习和编程,豆瓣评分9.1分。是高等院校讲授面向对象程序设计语言以及Java语言的绝佳教材和参考书。适合春招秋招的java...
Java编程经典——2010新版Java教程 内容详尽。。 适合大家学习
在本项目中,"学习JAVA编程,完成作业——编一个控制台梭哈游戏.zip",开发者采用Java语言创建了一个基于控制台的梭哈(Poker)游戏。这是一款非常适合初学者进行实践和学习的项目,它涵盖了Java编程基础、面向对象...
Java全能学习面试手册——互联网企业面试真题.zip 01 java面试——北京-百度-Java中级.pdf 02 java面试——北京-京东-Java中级.pdf 03 java面试——广州-唯品会-Java大数据开发工程师.pdf 04 java面试——杭州-阿里...
同人类任何语言一样,Java为我们提供了一种表达思想的方式。如操作得当,同其他方式相比,随着问题变得愈大和愈复杂,这种表达方式的方便性和灵活性会显露无遗。 不可将Java简单想象成一系列特性的集合;如孤立...
在本资源中,“Java实战开发(李兴华)——代码部分”主要涵盖了Java编程语言的实际应用和项目开发。李兴华是一位知名的Java教育专家,他的教程通常深入浅出,注重实践,适合初学者和有一定经验的开发者提升技能。...
java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏java程序设计——类似捕鱼达人的java小游戏...
【标题】"HNU编程新技术实务实验一——Java语言编程"揭示了这是一份与Java编程相关的学习资源,特别关注于湖南大学(HNU)的编程新技术实务课程中的实验项目。这个实验可能涵盖基础到进阶的Java编程概念,旨在帮助...