黑马程序员——面向对象-继承

来源:互联网 发布:mac听写功能没反应 编辑:程序博客网 时间:2024/05/18 14:23



面向对象有个很重要的关系叫继承,什么是继承?


class Student{String name;int age;public void xueXi(){System.out.println("学习");}}class Worker{String name;int age;public void work(){System.out.println("工作");}}

这有两个类,他们都有相同的成员变量,可是写在两个类中就显得多余,这个时候就可以用继承来简化


class Person{String name;int age;}class Student extends Person{public void xueXi(){System.out.println("学习");}}class Worker extends Person{public void work(){System.out.println("工作");}}


我们将学生类和工人类的相同属性抽取到人类中,不同的类进行单独描述,然后让这两个单独的类继承这个人类就可以了(如上面代码所示继承的关键字是extends)


继承的特点:

1.提高代码的复用性

2.让类与类之间产生了关系,有了这个关系,才有了多肽的特性



这里需要注意的是:千万不要为了获取其他类的功能,简化代码而继承

必须是类与类之间有所属关系才可以继承,所属关系为 is a (意思为是一个什么,例:那个动物是一只狗。所以他就应该继承狗类)


java语言中,java只支持单继承,不支持多继承

因为多继承容易带来安全隐患,当多个父类中定义了相同的功能,当功能内容不同时,,子类对象不确定运行哪一个

但是java保留了这种机制,并用另一种体现形式来完成表示多实现


java继承多层继承,也就是一个继承体系

如何使用一个继承体系中的功能呢?


想要使用体系,先查阅体系父类的描述,因为父类中定义的是体系中的共性功能。

通过了解共性功能就可以知道体系的基本功能

那么这个体系已经可以基本使用了

那么在具体调用时,要创建最子类的对象,为什么呢?

一是有可能父类不能创建对象

二是创建子类对象可以使用更多的功能,包括基本的也包括特有的


简单说就是查阅父类功能创建子类对象使用功能




0 0
原创粉丝点击