美文网首页
JAVA 的继承-子类与父类之间的复杂关系

JAVA 的继承-子类与父类之间的复杂关系

作者: 旦暮何枯 | 来源:发表于2019-02-22 16:47 被阅读0次

调用子类,先进行父类的参数定义和构造器构造,再进行子类的参数定义和构造器构造;
如果子类构造器中没有 super() 语句,或 super() 语句中不含参数;会去寻找父类当中不含参数的构造器;有参数时,寻找有对应参数的父类构造器;

父类中的函数 protected 参数声明,尽量少用,可以通过父类构造函数使用父类中 private 参数;

转型

向上转型

父类定义了通用的属性和方法;不同的子类继承后可以直接使用;不用重复写。
概念:子类的对象当做父类的对象用
Father f = new Child()
向上造型是默认的,不需要运算符
向上造型总是安全的

子类的变量不能接收父类的对象实例
父类的变量能接收子类的对象实例

向上造型时,子类重写的父类方法的权限要大于等于父类方法;返回类型需一致。

向下转型

父类对象想使用子类特有的方法时
向下造型一般来说是不安全的;但是通过声明造型,可以强制通过
Child c = (Child)f

instanceof

向下转型时,若父类对象不是子类对象的实例,就会发生 ClassCastException 异常;所以在转型时,需要使用 关键字 instanceof 来判断。
child instance Father
child : 子类对象
Father: 父类
返回值: 布尔

相关文章

  • Java07继承

    继承 关键字extends子类继承父类,子类拥有父类的成员变量和方法。Java中所有的类最终都继承与java.lo...

  • JAVA 的继承-子类与父类之间的复杂关系

    调用子类,先进行父类的参数定义和构造器构造,再进行子类的参数定义和构造器构造;如果子类构造器中没有 super()...

  • 快速学习Scala之继承

    类的继承 在Scala中让子类继承父类与Java一样也是使用extends关键字。继承就代表子类可以从父类继承父类...

  • 2021-01-19java继承

    1,什么是继承 继承是类与类之间的一种关系,继承的类叫子类,被继承的类叫父类;子类继承父类后,将拥有父类的属性和方...

  • java 继承 子类强转父类 父类强转子类

    Java 继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法...

  • Java 面向对象

    JAVA继承 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,...

  • scala 调用java通过父类调用子类方法实现

    scala 调用java通过父类调用子类方法实现 java 父类 A 抽象类: java 子类 B 继承A类,并...

  • java中继承,子类是否继承父类的构造函数

    java中继承,子类是否继承父类的构造函数 java继承中子类是不会继承父类的构造函数的,只是必须调用(隐式或者显...

  • 2.3 继承 (面向对象)

    1、Java中的继承 继承是类与类的一种关系Java中的继承是单继承的,即每个子类只有一个父类 继承的好处子类拥有...

  • 设计模式实践之类之间的六种关系

    类之间的六种关系 1、继承(Generalization) 继承关系,表示了子类和父类之间的关系 箭头:子类指向父...

网友评论

      本文标题:JAVA 的继承-子类与父类之间的复杂关系

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