黑马程序员技术交流社区

标题: 关于继承的总结 [打印本页]

作者: 樱花飘过    时间: 2015-8-15 23:51
标题: 关于继承的总结
继承的由来:
        当很多类有重复的属性或者方法,那么我们就把重复的部分抽取出来,封装为一个类,让很多类来继承这个单独的类,重复的部分就不用写了.
继承的格式:
   class B  extends  A{ }  
   class C  extends  A{ }   
继承的特点:
        1.单继承
        2.多层继承 --构成了继承体系  
        如果描述这个体系,共性的属性或者功能,看顶层
        如果使用这个体系的属性和功能,使用 最低层  
继承的注意事项:
        1.父类中private修饰的成员,子类不能使用.
                private只能本类访问
        2.父类中构造方法,子类不能使用
                构造方法名字跟类名一致
        3.不要为了部分的功能去继承
继承实现了类与类的关系
        类中:

        成员变量:
                                变量名字不同:父类有的子类可以直接用
                                变量名字相同:子类使用的时候自己的
                                                         子类还想使用父类的成员,怎么办? 使用super  
                                                         super.成员 表示的是父类的成员
                                this 和super的区别:
                                this:当前对象的引用 (创建对象)
                                super:父类存储空间的标识 (理解为父类的引用)

                                局部变量 成员变量 父类成员变量 使用顺序?
                                局部变量:num =10;
                                成员变量: this.成员
                                父类成员: super.成员
                                就近原则去找  
                                         
        构造方法:不能继承,但是我们可以调用父类的构造方法
                                子类的构造方法默认调用 父类的无参构造.
                                因为构造方法是给类初始化数据的,子类如果想使用父类的成员变量的值,那么必须用父类的先构造初始化.
                        注意事项:
                                1.父类中的成员变量被private修饰了,还得对外提供一个公共的访问方式.构造方法就是public的,那么子类想构造,就可以直接调用父类的构造方法了!
                                2.父类中没有无参构造
                                        方式一:使用super中的有参构造
                                        方式二:使用this中的有参构造,前提是有参构造也得访问到父类super有参构造中


                                3. super和this 必须在第一行,并且只能有一个

        成员方法 : 都是可以被继承的
                get()/set()

                show()/ call()

                如果子类中写了跟父类同名的方法,子类方法覆盖父类方法,这叫方法重写.

                重写和重载的区别:
                        重写:子类和父类,方法声明一模一样,子类覆盖父类方法
                        重载:本类中,方法名一样,参数列表不同

                重写的应用:
                        子类可以增强父类的方法,通过 super.父类方法名增强.

       

        关键字:
                final:被final修饰的东西,不能被改变.

        可以修饰类 变量 方法  




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