zoukankan      html  css  js  c++  java
  • 方法重载和覆盖不一样

    方法的重载的规则:方法名称一样,其他不一样

    • 方法名称必须相同。
    • 参数列表必须不同(个数不同、或类型不同、参数排列顺序不同等)。
    • 方法的返回类型可以相同也可以不相同。
    • 仅仅返回类型不同不足以成为方法的重载。
    • 参数列表不同包括:个数不同、类型不同和顺序不同。
    • 仅仅参数变量名称不同是不可以的。
    • 跟成员方法一样,构造方法也可以重载。
    • 声明为final的方法不能被重载和覆盖。这个非常容易忽略
    • 声明为static的方法可以被重载但不能覆盖(除非子类是静态类)
    • 静态方法是可以重载,但不可以重写的(如果子类是静态类才可以重写)!
      public class AA {
      static void a(int a) {
      }
      static void a(int a, int b) {
      }
      }

    方法的覆盖:方法签名一样,只是功能不一样

    • 覆盖方法的返回类型、方法名称、参数列表必须与原方法的相同。
    • 覆盖方法不能比原方法访问性差(即访问权限不允许缩小)。
    • 覆盖方法不能比原方法抛出更多的异常。
    • 被覆盖的方法不能是final类型,因为final修饰的方法是无法覆盖的。
    • 被覆盖的方法不能为private,否则在其子类中只是新定义了一个方法,并没有对其进行覆盖。
    • 被覆盖的方法不能为static。子类是静态可以覆盖。http://blog.csdn.net/wz5779354/article/details/52166115

     

    想见:

    http://www.weixueyuan.net/view/5989.html

  • 相关阅读:
    重温redis命令
    CI框架整合yar
    redis 常用配置
    php 安装yar扩展
    linux 最小安装 需要的后续操作
    centos7 安装php7+mysql5.7+nginx+redis
    mysql 存储过程和事件调度
    mysql的分区和分表
    mysql 范式和反范式
    mysql服务器和配置优化
  • 原文地址:https://www.cnblogs.com/muffe/p/6579946.html
Copyright © 2011-2022 走看看