• 重载


    • 重载就是为了解决下面这种情况:
          public int max(int i, int j) {
                return i > j ? i : j;
          }
          public double maxDouble(double i, double j) {
                return i > j ? i : j;
          }
          public double max(double i, double j) {
                return i > j ? i : j;
          }
     
    • java的重载只和签名有关,方法名相同形参不同,就视为重载;
     
          重载和权限修饰符、static修饰符、返回值无关,这些东西可以相同,也可以不同;
     
    public double max(double i, double j) {
                return i > j ? i : j;
          }
     
     
    public void max(double i, double j) {
                double d =  i > j ? i : j;
               
          }
     
    private void max(double i, double j) {
                double d =  i > j ? i : j;
               
          }
     
    private static double max(double i, double j) {
                return i > j ? i : j;
          }
    上面这四个方法任意拿出两个方法来都不行,会报错,这不是重载,而是重名;
    报错:Duplicate method max(double, double) in type DemoOverLoad,在DemoOverLoad类里有两个完全相同的方法max(double,double);
    java里区别方法只看签名,签名相同就视为同一个方法;
    这里有歧义性,所以连编译都通不过。
  • 相关阅读:
    常用正则表达式
    Python的ASCII, GB2312, Unicode , UTF-8 相互转换
    Java 获取Linux 的IP地址
    MySql 取一天的开始时间和结束时间
    MyCat 主键ID自增长配置
    helm安使用
    Photoshop 7.0 安装及注册方法
    photoshop7.0 排版一寸照片、2寸照片
    DevOps工具链
    traefik安装
  • 原文地址:https://www.cnblogs.com/Mike_Chang/p/7051042.html
Copyright © 2020-2023  润新知