zoukankan      html  css  js  c++  java
  • Day04:继承的意义(下)

    对象转型

    向上造型

    什么是向上造型?
    子类对象赋给父类引用。
    父类引用指向子类对象。

    子类转成父类 默认进行(父类引用指向子类对象)。

    为什么需要向上造型?
    子类对象可以放入父类类型的数组中。
    父类数组同一管理所有子类对象。
    减少代码冗余
    向上造型的格式:

    父类类型 引用=子类对象;
    Pet p=new Dog();

    向上造型的特性:
    向上造型后的父类引用,只能调用到父类中的成员,不能调用到子类特有的成员。

    向下转型(强制类型转换):

    什么是类型转换?
    就是将一个类型的引用,转换成另一个类型。
    为什么需要类型转换?
    父类引用无法调用到子类特有的成员如果必须要调用,就需要类型转换。

    父类转成子类 强制进行。

    强制类型转换的注意事项:
    如果将一个A子类的引用强转成B子类,会发生类型转换异常ClassCastException为了防止这样的异常发生在强转前,一般要先判断一下实际的类型

    关键字:

    instanceof:测试左边的对象是否是右边类的实例,

    如果是返回true否则fasle。

    <对象> instanceof <类型> 

    方法重写(方法覆盖,override)
    什么是方法重写?
    子类不满父类中某个方法的功能,重新编写父类方法的现象。
    什么需要方法重写?
    父类中的方法不能满足子类的要求。
    如何进行方法重写?
    简单的方法重写:
    在子类中编写一个和父类中的某个方法,方法名相同,参数列表相同,访问修饰符和返回值也相同的方法。
    方法重写的效果:
    在向上造型的前提下
    指向子类对象的父类引用
    在调用被子类重写的方法时
    运行的是子类重写后的方法
    方法重写的运行期绑定:
    父类引用在运行方法时
    jvm会检测这个父类引用指向的
    真实类型,调用真实类型重写后的方法
    方法重写的详细规则:
    必须相同的方法名,参数列表
    可以不同的
    返回值:
    基本数据类型。
    必须相同引用数据类型。
    可以返回其子类
    访问修饰符:
    子类重写的方法的访问修饰符,
    不能比父类更严格

    访问修饰符类型:
    public
    protected
    默认
    private

    重载和重写的区别?

              位置    方法名    参数   返回值   修饰符

    重载:同类     相同        不同     无关     无关

    重写:子类     相同        相同     相同     相同

    重载:只看同名方法的参数列表。编译期绑定

    重写:子父类方法要一模一样。运行期绑定

  • 相关阅读:
    10.矩形覆盖 Java
    09.变态跳台阶 Java
    08.青蛙跳台阶 Java
    07.斐波那契数列 Java
    06.旋转数组的最小数字 Java
    05.用两个栈实现队列 Java
    04.重建二叉树 (Java)
    03.从尾到头打印链表 (Java)
    数据结构-有序链表的合并
    数据结构-判断链表是否存在环形链表
  • 原文地址:https://www.cnblogs.com/wsnb8/p/11307742.html
Copyright © 2011-2022 走看看