继承:(extends)
很多类,但是有一些成员,都是重复的,所以为提供复用性,把重复的代码抽取出来,就应用了继承
1.提高了代码的复用性
2.让类与类之间产生了关系,继承给多态提供了前提,没继承就没多态
class MAN { String name; int age; } class student extends MAN //MAN是student的基类,student是MAN的子类 { void study() { System.out.println(name+"正在学习"+age); } } class teacher extends MAN { void work() { System.out.println(name+"正在工作"+age); } } public class Main { public static void main (String[] args) { student BLF = new student(); BLF.name = "BLF2"; BLF.age = 20; BLF.study(); } }
概念理解图:
单继承和多继承
JAVA支持单继承,不直接支持多继承,但是在C++的多继承机制上进行了改良。
定义:
1、单继承:一个子类只能有一个直接父类。
class A extends B ,B extends C;
2、多继承:一个子类可以有多个直接父类,(java中不允许)进行了改良。
class A extends B;A extend C;
多继承的优点:
类A 中有一些变量,类B中有一些东西,如果C继承了A和B,那么C就同时拥有了A,B的东西
C++多继承的缺点:
见代码:
#include <iostream> using namespace std; class A { public : void show() { cout<<"sd"<<endl; } } class B { public : void show() { cout<<"sssd"<<endl; } } class C :public A,public B//A,B的show都是同一个函数名 { } C BLF; int main() { BLF.show();//此处C++代码的多继承,就会出现混乱,必须让show,show1、show2,名字保证不一样,才可以 return 0; }
java的多继承:不直接支持多继承,因为,一旦父类中出现了相同的成员,就会产生不确定性,java改良了C++这一缺陷
java的多继承,是通过“多实现”的方式来实现
java支持多层(多重)继承:D 继承 C,C 继承 B,B继承A,就会出现继承体系,
注意:当要使用一个继承体系时:
1.查看体系的最顶层,了解体系的基本功能
2.创建体系的最子类对象,完成功能的使用
继承体系图:
未完......
时间: 2024-10-29 19:10:32