继承的作用:
1、提高了代码的复用性
2、使类与类之间产生了关系,有了这个关系,才有多态的特性。
先有父类,再有子类。
JAVA中只继承单继承,不支持多继承。因为多继承容易带来安全隐患,当多个父类中定义了相同的功能,但功能内容不同时,子类对象就不确定要运行哪一个功能。
但是JAVA保留了这种机制,用另一种体现形式来完成多继承——多实现。
JAVA支持多层继承。也就是一个继承体系。如何使用继承体系中的功能呢?
先查问体系父类的描述,因为父类中定义的是该体系中的功性功能。通过了解该共性功能,就可以了解该体系的基本功能。那么这个体系也就可以基本使用了。
在具体调用时,要创建最子类的对象。原因一,父类有可能不能创建对象;原因二,创建子为对象可以使用更多的功能,包括基本的和特有的。
简单一句话:查阅父类功能,创建子类对象使用功能。
子父类出现完全一样的函数时,当子类对象调用子类函数,会运行子类的内容。
如同父类函数被覆盖一样,这种情况是函数的另一个特性————重写(覆盖)
当子类继承父类,沿袭了父类的功能到子类中,但子类虽具备该功能,但是功能的内容却和父类不一样。这时,就没有必要在子类中重新定义该功能,而只要使用覆盖特性,保留父类的功能定义即可。
子类覆盖父类时,必须保证子类权限大于等于父类权限,才可覆盖,否则编译失败。
静态只能覆盖静态
此时父类的方法还存在于内存中,只是没有运行。