美文网首页
java基础学习--继承

java基础学习--继承

作者: 电竞三傻 | 来源:发表于2018-05-28 22:16 被阅读0次

    抽象:从已有事物中提取共性,形成新事物的过程,叫做抽象.

    继承关系指的是,可以基于某个父类对对象的定义加以拓展,增强,而产生新的子类定义,子类可以继承父类的某些定义,也可以增加原来父类没有的定义,或者覆写父类的某些特性.

    从面向对象的角度来说,继承是一种从一般到特殊的关系,是一种 "is a"的关系,即子类是对父类的拓展,是一种特殊的父类.比如狗是动物的一种特殊情况,狗属于动物.

    多态:把子类对象赋给父类对象引用,就会产生多态.多态指的是该变量可以有多种形态,在运行时表现出具体子类的特征,在接口中体现更明显.
    Animal a = new Dog();

    a的编译类型(声明类型)是Animal,运行类型(真实类型)是Dog.如果想调用Dog类的某个Animal中的方法,此时需要强转.(Strong cast)
    如(Dog)a.bark();

    java中只支持类的单继承.Object是所有类的直接或间接父类.

    最后,继承会破坏封装.

    我们根据访问控制修饰符来判断,子类到底继承了父类的那些成员
    1.如果父类的成员用public修饰,子类继承
    2.如果父类的成员用protected修饰,子类继承,即使父类和子类可能不在同一个包中
    3.如果父类和子类在同一包中,继承缺省修饰符的成员.
    4.如果父类成员用private修饰,不能被继承
    5.父类的构造器,子类也不能继承,因为构造器必须和当前类名相同.

    相关文章

      网友评论

          本文标题:java基础学习--继承

          本文链接:https://www.haomeiwen.com/subject/faunjftx.html