黑马程序员技术交流社区

标题: Java技术贴 [打印本页]

作者: hjxall8899    时间: 2018-11-14 20:50
标题: Java技术贴
继承(extends)
        (1)继承的体系结构(理解):就是对要描述的事物进行不断的向上抽取,就出现了体系结构。
                **先学习顶层内容,因为它是共性内容。
                **一般使用的时候使用的是底层的类。
        (2)继承的好处:(理解)
                A:继承的出现,提高了代码的复用性。
                B:继承的出现,让类与类之间产生了关系,extends来表示.
        For  example: public static  a{       //定义了一个父类a
}
           Public  static  b   extends  a{    //定义了一个子类b让它去继承父类a
}
                          (3)特点(理解)
                A:java只支持单继承(其实确切的说是java对多继承进行了优化,避免了安全问题)。
                B:java支持多重(层)继承。
        (4)注意:(掌握)
                A:子类可以直接访问父类中的非私有的属性和行为。
                B:不要仅为了获取其他类中部分功能而去继承。
                C:类与类之间要有所属( " is a " )关系,xx1是xx2的一种。
                        **如何判断A和B是否有继承关系?
                        **A如果继承B,那么就可以说A是B的一种。

        (1)只抽取了很多类的方法的声明,为了保证不出问题,方法声明用abstract修饰。(掌握)        (2)抽象类的特点(掌握)(演讲内容)
                A:一个类如果有了抽象方法,那么这个类必须是抽象类。抽象类里边可以没有抽象方                        法。
                B:抽象类是不能够被实例化的。不能够创建对象的。
                C:如果一个类继承抽象类,那么,它要么实现抽象类中的所有抽象方法,
                   要么本身也是抽象类。
        (3)抽象类的成员特点:(掌握)
                A:成员变量:子类可以直接继承抽象类中的成员变量。(抽象类中的成员变量可以和                                以前是一样的)
                B:成员方法:抽象类中分为两种方法,一种是抽象方法,这种方法在子类中必须要被                        实现。
                        



        (4)举例:教师举例,学生举例,员工举例
        (5)抽象类的相关问题:       
                A:抽象类中是否有构造函数?参照(3)里面的C。
                B:抽象关键字abstract不可以和哪些关键字共存?
                        **private
                                ***私有的,外部直接无法访问。
                        **static
                                ***那么这个时候抽象方法就可以可以通过类名调用,但是这样是没有意义的。
                        **final
                                ***final修饰的方法不能被重写。所以它和abstract冲突。
                C:抽象类中可不可以没有抽象方法?
                        **可以。防止其他类创建该类对象。







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