zoukankan      html  css  js  c++  java
  • 阿花宝宝 Java基础笔记 之 多态

    多态
     父类类型 父类引用=new 子类类型();
    多态三要素
     1 继承关系
     2 要有方法重写
        子类没有重写父类方法时,子类对象调用的是父类的方法
        父类没有方法时,无法使用父类对象去调用   编译不通过
        编译时,看写的对象是什么类型,就访问什么类型
        运行时,会根据传进来的真实类型来调用相应方法
       jvm动态绑定机制,根据运行时的真实类型去调用相应方法
     3 父类引用指向子类对象

    抽象方法
     1.抽象方法没有具体实现
      访问修饰符abstract 返回类型 方法名();
     2.抽象方法所在类必须是抽象类
      访问修饰符 abstract class 类名{}
     3.子类必须实现抽象父类中的抽象方法,除非子类本身也是抽象的
     4.抽象类中可以有抽象方法 ,也可以没有
     5.抽象类不能被实例化

    向上转型 和 向上转型
      向上转型:向上转型:父类的引用指向子类对象。自动进行类型转换
      向上转型:<父类型> <引用变量名> = new <子类型>();
         此时通过父类引用变量调用的方法是子类覆盖或继承父类的方法,不是父类的方法
         此时通过父类引用变量无法调用子类特有的方法
     向下转型:将一个指向子类对象的父类引用赋给一个子类的引用,
     即:父类类型转换为子类类型。需强制类型转换
      子类类型  子类引用名=(子类类型)父类引用;
       在向下转型的过程中,如果没有转换为真实子类类型,会出现类型转换异常
     Java中提供了instanceof运算符来进行类型的判断
     if(父类引用 instanceof 子类类型){
     (子类类型) 子类引用=(子类类型)父类引用;
      子类引用.子类特有方法();
    }
    父类类型作为方法的返回值
     访问修饰符 父类类型 方法名(参数){
     return 具体子类对象;
     }

  • 相关阅读:
    getContentResolver()内容解析者查询联系人、插入联系人
    ContentProvider备份短信,以xml文件存储
    ContentProvider详解
    bindService初步了解
    Service之来电监听(失败的案例)
    Android帧动画
    AlertDialog之常见对话框(单选对话框、多选对话框、进度条对话框)
    BroadcastReceiver之(手动代码注册广播)屏幕锁屏、解锁监听、开机自启
    BroadcastReceiver之有序广播
    [FJOI2015]火星商店问题
  • 原文地址:https://www.cnblogs.com/ECS666666/p/5339719.html
Copyright © 2011-2022 走看看