继承

来源:互联网 发布:gis软件开发工程师 编辑:程序博客网 时间:2024/04/30 02:02

继承的好处:

1、继承的出现提高了代码的复用性,提高软件开发效率。

2、继承的出现让类与类之间产生了关系,提供了多态的前提。

单继承,多重继承。


当子父类中出现了同名成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字super来完成。super用来表示当前对象中包含的父类对象空间的引用。


当在程序中通过对象调用方法时,会先在子类中查找有没有对应的方法,若子类中存在就会执行子类中的方法,若子类中不存在就会执行父类中相应的方法。



子类中出现与父类一模一样的方法时,会出现覆盖操作,也称为override重写、复写或者覆盖。


方法重写(覆盖)的应用:

当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。

举例:比如手机,当描述一个手机时,它具有发短信,打电话,显示来电号码功能,后期由于手机需要在来电显示功能中增加显示姓名和头像,这时可以重新定义一个类描述智能手机,并继承原有描述手机的类。并在新定义的类中覆盖来电显示功能,在其中增加显示姓名和头像功能。

在子类中,访问父类中的成员方法格式:

super.父类中的成员方法();


重写需要注意的细节问题:

     子类方法覆盖父类方法,必须要保证权限大于等于父类权限。


抽象类


抽象类的特点: 

                   1、抽象类和抽象方法都需要被abstract修饰。抽象方法一定要定义在抽象类中。

                   2、抽象类不可以直接创建对象,原因:调用抽象方法没有意义。 

                   3、只有覆盖了抽象类中所有的抽象方法后,其子类才可以创建对象。否则该子类还是一个抽象类。 之所以继承抽象类,更多的是在思                 想,是面对共性类型操作会更简单。

 面试题:

        1,抽象类中是否可以没有抽象方法?如果可以,那么,该类还定义成抽象类有意义吗?为什么?

              可以没有抽象方法,有意义,不会让其他人直接创建该类对象

原创粉丝点击