第七章 复用类
2016-09-16 21:16
211 查看
标签(空格分隔): AgainThinkingInJava
继承过程中构造器的调用(基类的初始化)
什么是代理
在组成和继承之间怎么进行选择
覆盖与重载
final 关键字
在定义对象的地方。这意味着他们总是能够在构造器被调用前初始化。
对于这个说法还是不是很懂,定义对象的时候初始化难道不是通过new 使用构造方法来初始化。
在类的构造器中,这个还是比较理解,就是在构造器外先定义一个引用变量,然后通过构造器进行初始化。
惰性初始化,在正要使用这些对象之前
使用实例初始化
基类的构造器总是会被调用,而且是在子类的构造器之前被调用,任何时候都是先调用基类构造器,再调用其它的
组合:在新的类中产生现有类的对象
继承:按照现有类的类型来创建新类
代理:中庸,,,,,,怎么说尼,就是新建一个类,该类持有一个已知类的对象,然后通过新定义一些方法名来对应已知类的方法。我们可以根据实际情况来控制新建类的方法的数量。但是不能增加,不能增加已知类中没有的方法。·
但是继承的时候也会涉及到重载的问题。重载和覆盖很容易混淆,因此我们在复写的时候加一个@Override来注明复写,可以防止将重载写成覆盖。
方法
类
一个在运行时被初始化的值,而不希望改变
挑出几个几乎已经忘记了的点
可以在哪些地方初始化引用继承过程中构造器的调用(基类的初始化)
什么是代理
在组成和继承之间怎么进行选择
覆盖与重载
final 关键字
可以在哪些地方初始化引用
这几句话一点章法都没有,尤其是最后一点在定义对象的地方。这意味着他们总是能够在构造器被调用前初始化。
对于这个说法还是不是很懂,定义对象的时候初始化难道不是通过new 使用构造方法来初始化。
在类的构造器中,这个还是比较理解,就是在构造器外先定义一个引用变量,然后通过构造器进行初始化。
惰性初始化,在正要使用这些对象之前
使用实例初始化
继承过程中构造器的调用(基类的初始化)
从一个基类继承出来的导出类。在生成对象的时候,该对象还包含了一个基类的子对象。,没想到还有这样的一个概念,在通过new表达式产生子类对象的时候,对构造器的调用是堆栈的形式。这似乎是我肉眼观察的表象,人家的解释是先调用的基类构造器,而不是一层一层的调用。
基类的构造器总是会被调用,而且是在子类的构造器之前被调用,任何时候都是先调用基类构造器,再调用其它的
带参数的构造器
就是说如果你的基类指定了构造器而且是含参的,因此你在调用子类的构造方法时,一定要显式地调用基类的构造方法。什么是代理
说代理是继承和组合的中庸之道,是复用类的第三种方法:组合:在新的类中产生现有类的对象
继承:按照现有类的类型来创建新类
代理:中庸,,,,,,怎么说尼,就是新建一个类,该类持有一个已知类的对象,然后通过新定义一些方法名来对应已知类的方法。我们可以根据实际情况来控制新建类的方法的数量。但是不能增加,不能增加已知类中没有的方法。·
在组成和继承之间怎么进行选择
之前是一点都没有考虑这个问题。最简单的一点就是看看自己是不是需要向上转型。要是需要向上转型则是必要继承的。覆盖与重载
重载一般在同一个类中发生,方法名字相同但参数类型与个数不同,返回类型与修饰符也可以不同。方法重写发生在父类与子类之间,两个类存在继承关系,方法重写时方法的定义(修饰符,返回类型,参数列表)必须相同,只是方法体(方法实现)不同。但是继承的时候也会涉及到重载的问题。重载和覆盖很容易混淆,因此我们在复写的时候加一个@Override来注明复写,可以防止将重载写成覆盖。
final 关键字
数据方法
类
数据
一个永不改变的编译时常量一个在运行时被初始化的值,而不希望改变
相关文章推荐
- PostgreSQL教程(三):表的继承和分区表详解
- Lua面向对象之类和继承浅析
- 浅析Ruby中继承和消息的相关知识
- 设计引导--一个鸭子游戏引发的设计理念(多态,继承,抽象,接口,策略者模式)
- C++实现不能被继承的类实例分析
- C# 面向对象三大特性:封装、继承、多态
- PHP类的封装与继承详解
- js继承 Base类的源码解析
- Javascript 面向对象 继承
- JavaScript 继承使用分析
- Javascript面向对象编程(二) 构造函数的继承
- Javascript中的几种继承方式对比分析
- javascript面向对象之Javascript 继承
- JavaScript 对象、函数和继承
- 详述JavaScript实现继承的几种方式(推荐)
- javascript 继承学习心得总结
- 学习javascript面向对象 javascript实现继承的方式
- 浅谈JS继承_借用构造函数 & 组合式继承
- 关于JavaScript的面向对象和继承有利新手学习
- JavaScript 继承详解及示例代码