如果参数的日期类型不同,输出会是啥?

Posted

技术标签:

【中文标题】如果参数的日期类型不同,输出会是啥?【英文标题】:What will be the output if the argument's date type is different?如果参数的日期类型不同,输出会是什么? 【发布时间】:2017-11-06 07:01:59 【问题描述】:

如果重载时实参和形参的数据类型不同会怎样?

Class A

   public void m1(int i)
    
    System.out.println("int");
     
     public void m1(float f)
     
     System.out.println("float");
     
 Public static void main(String[] args)
 
  A a=new A();
  a.m1('a');
  a.m1(10l);
  
  

【问题讨论】:

只要你写代码只是为了让你的问题清楚,为什么不把它缩进清楚呢? 您的代码无法编译。请提供一个最小的工作示例(另请参阅***.com/help/mcve) 为什么不直接运行你的程序看看会发生什么? @SteveSmith 好建议,因为那样 OP 会发现代码甚至无法编译,就像 dunni 评论的那样,也许还能学到一些东西。 【参考方案1】:

与参数类型对应的函数被调用,这是 OOP 的一些基础知识,不仅在 java 中,而且在所有其他语言中。

【讨论】:

【参考方案2】:

调用具有最接近匹配的有效签名的方法。这很可能是直接匹配(例如完全相同的函数参数类型),或者(如在您的代码中)运行时知道如何自动将 char a 转换为 int,因此带有 int 参数的方法是调用。

【讨论】:

【参考方案3】:

在重载方法解析中,如果具有特定参数的匹配方法不可用,编译器不会立即引发任何错误, 首先,它将参数提升到下一个级别并检查匹配的方法。 1)如果匹配的方法可用,那么它将被考虑,如果它不可用,则编译器再次将此参数提升到下一个级别。 2)如果匹配的方法不可用,这个过程将一直持续到所有可能的促销仍然存在。那么只有我们会得到编译错误。 3)这在重载中称为自动提升。 以下是java中可能的促销活动 字节->短/字符->整数->长-> 浮动->双

【讨论】:

本次转换不可能倒序。

以上是关于如果参数的日期类型不同,输出会是啥?的主要内容,如果未能解决你的问题,请参考以下文章

timestamp是啥类型数据

在sql server2008中的日期类型是啥

MySQL 中各种日期/时间字段类型的优缺点是啥?

powerbuilder里面如何把editmask中输入的字符串类型如何转换成datetime啊用来比较和datetime类型的大小 !

EF Core 中查询类型的正确日期时间转换是啥?

新股日历数据API