为什么方法返回值不算作方法签名?

对岸 发布于 2016/03/21 22:01
阅读 188
收藏 0
为什么方法返回值不算作方法签名?这样设计的原因是什么?不知道原因,我永远都记不住啊……




----------
附:
1、方法签名定义
Definition: Two of the components of a method declaration comprise the method signature—the method's name and the parameter types.
The signature of the method declared above is:


2、方法签名例子
calculateAnswer(double, int, double, double)




http://docs.oracle.com/javase/tutorial/java/javaOO/methods.html


加载中
0
对岸
对岸

找到一个原因了,因为构造方法没有返回值啊,既然构造方法连返回值都没有,那么方法签名这一定义当然就不能包括返回值类型咯……

http://docs.oracle.com/javase/tutorial/java/javaOO/constructors.html

0
南湖船老大
南湖船老大
在JVM层面上,其实是允许同一个类里有多个同名同参数的方法只在返回值类型上不同。但这个特点没有暴露给Java语言(甚至反射API也处理不了这个特点,只有新的MethodHandle API能处理)。
南湖船老大
南湖船老大
回复 @对岸 : 这个没有为什么,C#就可以,Java就不可以,就是作者的审美观,仅此而已,和技术无关
对岸
对岸
谢谢回答,但你还是没说原因哦~
返回顶部
顶部