4.继承

面向对象概念-类与对象的关系

封装:指隐藏对象的属性和实现细节,仅对外提供公共访问方式,private-构造方法/构造器-this关键字-static关键字(javadoc制作工具类) -代码块

继承:方法重写-super-子类实例化过程-final-抽象类-接口

多态:

4.1 继承的概述:extends(继承,扩展)

java面向对象3-继承(继承、抽象类、抽象接口)

java面向对象3-继承(继承、抽象类、抽象接口)java面向对象3-继承(继承、抽象类、抽象接口)

java面向对象3-继承(继承、抽象类、抽象接口)

java面向对象3-继承(继承、抽象类、抽象接口)

 java面向对象3-继承(继承、抽象类、抽象接口)

 

 

多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要从抽取出来的那个类扩展(extends)即可
需要扩展的类称为子类,抽取出来的那个类称为父类,或者超类,或者基类
通过关键字:extends,让类与类之间产生继承关系
class 子类名 extends 父类名{ /* 类体 */}
继承的出现提高了代码的复用性
继承的出现让类与类之间产生了关系,提供了多态的前提(暂时记住)

 4.2继承的特点

Java只支持单继承,不支持多继承
一个类只能有一个父类,不可以有多个父类
class SubDemo extends Demo{} //OK
class SubDemo extends Demo1,Demo2{} //NG

java面向对象3-继承(继承、抽象类、抽象接口)

Java支持多层继承(继承体系)
class A{}
class B extends A{}
class C extends B{}

java面向对象3-继承(继承、抽象类、抽象接口)

因为多继承容易出现问题。
两个父类中有相同的方法。子类到底要执行哪一个是不确定的。
所以java不支持多继承,将这种机制换了另一个种安全的方式来体现,多实现。
多次继承出现的继承体系中,通常看父类中的功能,了解该体系的基本功能,建立子类对象即可使用该体系功能。
why not can't 多继承

相关文章: