A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© helloxiaoyu 中级黑马   /  2015-8-7 23:22  /  448 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

继承的由来:
    当很多类有重复的属性或者方法,那么我们就把重复的部分抽取出来,封装为一个类,让很多类来继承这个单独的类,重复的部分就不用写了.
继承的格式:
   class B  extends  A{ }  
   class C  extends  A{ }   
继承的特点:
    1.单继承
         一个类 只能继承 一个类,不用同时继承两个或两个以上的类
    2.多层继承 --构成了继承体系  
    如果描述这个体系,共性的属性或者功能,看顶层
    如果使用这个体系的属性和功能,使用 最低层  
继承的注意事项:
     a:子类只能继承父类所有非私有的成员(成员方法和成员变量)
            private 不能继承, 只能本类访问
     b:子类不能继承父类的构造方法,因为构造方法名字跟类名一致,但是可以通过 super(马上讲)关键字去访问父类构造方法。
     c:不要为了部分功能而去继承
继承实现了类与类的关系
    类中:
    成员变量:
                变量名字不同:父类有的子类可以直接用
                变量名字相同:子类使用的时候自己的
                             子类还想使用父类的成员, 使用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修饰的东西,不能被改变.可以修饰类 变量 方法  

3 个回复

倒序浏览
流水王朝 来自手机 中级黑马 2015-8-7 23:31:00
沙发
学习学习
回复 使用道具 举报
很详细 a
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马