Java核心第五章继承
Posted Damocless
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java核心第五章继承相关的知识,希望对你有一定的参考价值。
5.1类 超类(父类、基类) 子类(派生类)
使用关键字extends来继承
对于子类想访问父类的私有域,则必须要借助公有接口,在父类中的公有方法正是这样的接口
为了防止子类定义了与父类一样的成员函数,则可以使用特定关键字super来解决:
super.父类的成员函数 super与引用的概念不同 ,它只是一个指示编译器调用超类方法的特殊关键字,并不能将super赋给另一个对象变量
在子类中可以增加域 增加方法 或者覆盖超类的方法,然而绝对不能删除继承的任何域和方法
一个对象变量可以指示多种实际类型的现象被称为多态,在运行时能够自动选择调用哪个方法的现象称为动态绑定。
5.1.1继承层次
继承并不仅限于一个层次。由一个公共超类派生出来的所有类的集合被称为继承层次。在继承层次中,从某个特定的类到其祖先的路径被称为该类的继承链
5.1.2多态
判断是否应该设计为继承关系的规则即“is-a”规则,它表明子类的每个对象也是超类的对象。
5.1.3动态绑定
当程序运行时且采用动态绑定调用方法时虚拟机一定会调用与x所引用对象的实际类型最合适的那个类的方法,并且一层一层向上找
5.1.4阻止继承 :final类和方法
5.1.6抽象类
抽象的父类需要包含抽象的方法。在父类中实现多个子类的共有属性
抽象方法的具体实现在子类中。扩展抽象类有两种选择:
1在子类中定于部分抽象方法或者抽象方法也不定义,这样就必须将子类也标记为抽象类;
另外一种方法是定义全部的抽象方法,这样子类就不是抽象的了。
抽象类不能被实例化,如果将一个类声明为abstract,就不能创建这个类的对象;但是可以创建一个具体子类的对象;
注意:可以定义一个抽象类的对象变量,但是它只能引用非抽象子类的对象。
5.1.7受保护访问:
超类中的某些方法允许被子类访问,或允许子类的方法访问超类的某个域,为此需要将这些方法或者域声明为protected。
以上是关于Java核心第五章继承的主要内容,如果未能解决你的问题,请参考以下文章