如果参数的日期类型不同,输出会是啥?
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中可能的促销活动 字节->短/字符->整数->长-> 浮动->双
【讨论】:
本次转换不可能倒序。以上是关于如果参数的日期类型不同,输出会是啥?的主要内容,如果未能解决你的问题,请参考以下文章
powerbuilder里面如何把editmask中输入的字符串类型如何转换成datetime啊用来比较和datetime类型的大小 !