例如:
当我们需要描述学生和工人时,我们发现二者都要进行名字,年龄的描述;
将学生和工人的共性描述提取出来(姓名。年龄描述),单独进行描述;
只要让学生和工人与单独描述的这个类有关系,就可以了;
继承:
1.提高了代码的复用性;
2.让类与类之间产生了关系,有了这个关系,才有了多态的特性;
class Person
{
String name;
int age;
}
class Student extends Person
{
Void Study()
{
System.out.println("good study")
}
}
class Worker extends Person
{
Void Work()
{
System.out.println("good Work")
}
}
注意:
千万不要为了获取其他类的功能简化代码而继承,必须是类与类之间有所属关系才可以继承,所属关系 is a。
例如:
class A
{
void demo1(){}
void demo2(){}
}
class B
{
void demo1(){}
void demo3(){}
}
/*
我们不能因为B类和A类中都有demo1,而去继承;
因为B继承A的同时把demo2也继承了,可这并不是我们想要的;
*/
class A
{
void demo1(){}
void demo2(){}
}
class B extends A
{
//void demo1(){}
void demo3(){}
}
Java语言中:
Java只支持单继承,不支持多继承(也就是说Student继承了Person就不能继承其他的了)
多继承容易但来安全隐患:当多个父类中定义了相同功能但功能内容不同时,子类对象不确定要运行哪一个
但是Java保留了这种机制,并用另一种体现形式来完成表示-----多实现;
Java支持多层继承,也就是继承体系。
如何使用一个体系中的功能呢?
想要使用体系,先查阅体系父类的描述,因为父系类中定义的是该体系中共性功能。
通过了解共性功能,就可以知道该体系的基本功能,那么这个体系已经可以基本使用了
在具体调用时要创建子类的对象,为什么??
一是因为有可能父类不能创建对象;二是创建子类对象可以使用更多的功能,包括基本的也包括特有的;
简单一句话:查阅父类功能,创建子类对象使用功能;