zoukankan      html  css  js  c++  java
  • 「JavaSE 重新出发」05.01 继承

    继承

    • 一个对象变量可以指示多种实际类型的现象被称为多态(polymorphism)。
    • 在运行时能够自动地选择调用哪个方法的现象称为动态绑定(dynamic binding)。
    • 如果是private方法、static方法、final方法或者构造器,编译器可以准确知道应该调用哪个方法,此种调用方式称为静态绑定(static binding)。
    • 子类不能覆盖父类中final修饰的方法(final类中所有方法自动地成为final方法,并且final类不能被继承)。
    • 在父类转子类的类型转换前,可以先借助 instanceof 操作符,查看是否能够转换成功。
    if(staff instanceof Manager){
        boss=(Manager) staff;
    }
    
    • 在超类(父类)设计合理的情况下,很少会使用到类型转换和instanceof运算符。
    • 包含一个或多个抽象方法的类本身必须被声明为抽象的。
      • 除了抽象方法,抽象类还可以包含具体数据和具体方法。
      • 扩展抽象类有两种选择:一是部分实现抽象方法,此时子类仍需标记为抽象类;二是定义全部抽象方法。
      • 类即使不包含抽象方法,也可以将类声明为抽象类。
      • 抽象类不能被实例化。
    • 访问控制:
      • 仅对本类可见——private
      • 对本包可见——默认,不需要修饰符
      • 对本包和所有子类可见——protected
      • 对所有类可见——public
    • 如果没有明确地指出父类,则Object就被认为是这个类的超类,其常见几个方法:
  • 相关阅读:
    lua学习之环境搭建
    c易错点归纳
    H7-TOOS之SPI控制器功能
    搜索旋转排序数组
    电话号码的字母组合
    打家劫舍python实现
    括号生成实现
    玩烂bert--集成输出预测分类、特征向量、参数冻结、推理
    tensorflow 查看ckpt模型中参数值
    求柱状图中最大的矩形
  • 原文地址:https://www.cnblogs.com/hiwangzi/p/7635264.html
Copyright © 2011-2022 走看看