继承(一):继承的简单定义及应用
/*继承的好处
* 1、提高了代码的复用性
* 2、让类与类之间产生了关系
*
java中支持单继承。不直接支持多继承,但对c++中的多继承机制进行了改良
*单继承:一个子类只能有一个直接父类,多继承相反(java中进行了改良)
*多继承:(在java中通过“多实现”的方式体现的(以后补充))
*
java支持多层(多重)继承
*c继承b,b继承a;即a→b→c(因为a是从最底层不断向上抽取后得到的共性
* 所以a里的元素是最基础的成员,不会造成重复)
*当要使用一个继承体系是
*1、查看该体系中的顶层类,了解该体系的基本功能
*1、创建体系中的最子类对象(即c),完成功能的使用
*
*什么时候定义继承?
* 当类与类之间存在着所属关系时,定义继承(即包含关系)
*/
/*多继承示例
class A
{
void show()
{
System.out.println("a");
}
}
class B
{
void show()
{
System.out.println("b");
}
}
class C extends B//,A多继承,不能解决各类中的成员重名,会产生调用的不确定性
{
}
*/
class Person
{
String name;
int age;
}
class Student extends/*继承*/ Person//定义一个Student类,继承了Person中的基本信息,并定义了自己的特有信息,即study()
{
{
// String name;
// int age;父类中已经有这些信息,可以直接拿来使用,不用再重新定义
void study()
{
System.out.println(name+" student study "+age);
}
}
class Worker extends Person//定义一个worker类,继承了Person中的基本信息,并定义了自己的特有信息,即work()
{
void work()
{
System.out.println(name+" worker work "+age);
}
}
public class StudentDemo {
public static void main(String[] args) {
Student s = new Student();
s.name = "zhangsna";
s.age = 20;
s.study();//输出zhangsna student study 20
}
}