黑马程序员技术交流社区

标题: 继承和抽象类,给大家总结一下 [打印本页]

作者: cxc0603    时间: 2016-5-30 22:13
标题: 继承和抽象类,给大家总结一下
1.继承(extends )
        概念——
                当一个类的属性与行为均与现有类相似,属于现有类的一种时,这一个类可以定义为现有类的子类。
        概念二
                多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那么多个类无需再定义这些属性和行为,只要继承那个类即可,这个类称为父类或者超类
       
        注意:子类具有父类的非私有属性与方法。无需重新定义,可以直接调用。
       
        格式
                class 子类 extends 父类{
                        //父类的非私有方法与属性均继承过来
                }
       
        继承的好处
                继承的出现提高了代码的复用性。
                继承的出现让类与类之间产生了关系,提供了多态的前提。
        继承的特点
                Java只支持单继承,不支持多继承。即只能有一个父类。
                父类可以继续有父类。(可以多层继承)
                只有Object类没有父类。
        方法重写
                当子类继承父类后,拥有了父类非私有的方法并可以直接调用。如果认为父类提供的方法不够强大,
                子类可以按照子类自身的逻辑重新定义继承过来的父类方法,这个重新定义一个方法的过程叫做方法重写。

                注意事项
                        访问权限相同或子类方法更大
                        方法名称必须相同
                        参数列表必须相同
                        返回值为基本类型时必须相同
                        返回值为引用类型时相同或子类小

                       
2.抽象类
       
        抽象方法:抽象方法即只有功能声明,没有功能主体实现的方法 abstract修饰
        定义:有抽象方法的类叫做抽象类
        抽象定义格式
                public abstract  class  Person {
                        public abstract void  eat();
                }
        抽象类&抽象方法的使用

                抽象类无法直接创建对象,只能被子类继承后,创建子类对象。
                        子类定义时继承抽象类
                                抽象类是事物的描述,子类需要继承父类完成最终的功能实现细节(即重写方法,完成方法体)。
                                将一个抽象方法重写的过程也叫实现方法的过程。
                子类定义后创建实例对象
                                在定义好子类后,可以直接创建对象。
                                在所有使用子类的地方可以传入子类对象,在所有使用父类的地方也可以传入子类对象,因为属性与方法在子父类中都是相同的。
       
        抽象类的注意事项
                有抽象方法的类必须是抽象类,抽象类不能直接创建对象
                抽象方法子类必须实现,如果子类不实现,那么子类必须是抽象类
                抽象类可以有具体的方法
                抽象类可以没有抽象方法









       


作者: 小忧伤    时间: 2016-5-30 22:36
已收,谢谢分享
作者: likonglin110    时间: 2016-5-30 23:00
谢谢分享。
作者: 徐方锐    时间: 2016-5-30 23:22
知识点,保存了
作者: 善良的死神达乐    时间: 2016-5-30 23:56
666666666666
作者: 戎马生涯    时间: 2016-5-31 00:14
总结得不错!受教了~~~
作者: 894676919    时间: 2016-5-31 00:15
可以 总结的很详细




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2