《Java编程思想》笔记 第七章 复用类

1.组合

  • 将其他类的对象引用置于新的类中。

3.继承 extends

  • 从已知的一个类中派生出新的一个类,叫子类。子类实现了父类所有 非私有化 非静态 的属性和方法,并能根据自己的实际需求扩展出新的行为。

  • 继承在内存中其实是先复制一个父类然后添加自己的字段方法。
  • 子类中调用继承下来的方法也不需要基类对象引用。继承相当于对基类的一个扩展,因为基类有的它都有,再额外添加了一些域和方法(或覆写方法)而已。
  • 子类不能直接访问父类的private字段方法.但是,如果子类继承了访问父类私有字段的公共或受保护方法,则子类也可以通过继承的方法访问父类私有字段方法。

4.super

4.1 super.f() 调用基类的f()方法。

4.2 构造器中的super(args) 调用基类构造器,且只能在第一行。

4.3 由于构造器被重载后默认构造器不存在,且创建子类对象时一定会调用基类构造器,如果不用super则调用基类默认构造器,而基类构造器构造器被重载,故会报错,所以基类构造器被重载后子类要在构造器中显示用super调用基类构造器。

5.何时使用组合或继承

  • 组合:新类中实现现有类功能,而非现有类接口。
  • 继承:开发一个现有类的特殊版本。

6.final

  1. final 不可改变数据。 final 引用 不可指向另一对象,这对数组也同样适用,数组也是对象,但对象内容可以改变,不能改变的时引用指向。
  2. final 参数 : 参数为引用则无法改变指向,参数为基本数据类型则无法改变值。
  3. final 方法 可被继承但子类无法覆写,所有private方法都是隐式的final.(private 方法非所在类无法访问,final方法不一定 看它是什么权限)
  4. final 类 无子类,不可继承。

7. main方法

8.1 可以在类中设置main方法,这样便于进行单元测试单独运行这个类。

8.2 除构造器外,其他方法都需要对象调用才能执行,main方法也如此,创建对象并不会调用main方法,只有执行 java 类 命令时main方法才会被调用。

8.3 单独的一个没有main方法的类是无法运行的,main方法时程序运行的入口。

知识点:

  • 每一个非基本类的对象都有一个 toString() (从Object继承而来)方法,打印此对象引用就会输出该方法的返回值。
  • 默认构造器权限与类权限相同,没写权限的构造器为包访问权限。
上一篇:rpm升级时spec文件执行的流程


下一篇:nuxtjs如何在单独的js文件中引入store和router