黑马程序员—继承

时间:2021-07-17 00:43:19
继承extends:
1、提高了代码的复用性。(类与类共性部分进行抽取)
        2、让类与类之间有了关系(多态的基础,例如父类引用指向子类对象)


子类继承父类的原因:

1、父类不能创建对象。(如抽象类)
2、创建子类对象可以添加自己的特有方法和使用父类的基本功能。


例如以下代码说明继承提高代码复用性

class Person//将共性部分:姓名和年龄进行抽取封装到Person类中
{
String name;
int age;
}
class Student extends Person//注:java只支持单继承
{
void study()
{
System.out.println("good study");
}
}
class worker extends Person
{
void work()
{
System.out.println("good worker");
}
}

注意:
1、java只支持单继承

     原因:假设存在多继承,则当两个父类存在相同的方法名但是方法里的内容不同时,

             子类无法确定调用哪个父类的方法。

   假设示例代码如下:
class A
{
void show()
{
System.out.println("a");
}
}
class B
{
void show()
{
System.out.println("b");
}
}
class C extends A,B
{}
class Demo
{
public static void main(String[] args)
{
C c = new C();
c.show();//无法确定使用父类A还是父类B中的show();方法
}
}

但是java保留这一种机制,并用另一种体现形式来完成表现,即对接口的多实现以及多层继承