Java 如一个类中有两个同名的方法,调用的时候会用哪一个?

比如

public class randomTry(){

public int rt(int i){
return i;
}

public short rt(short s){
return short;
}
}

在这里两个方法是同名的,而且int兼容short,那如果:

public class randomTryTest(){

public static void main(String[] args){
randomTry r = new randomTry();
r.rt(50); //这里会调用int的rt还是short的rt?
}
}

会根据你传递的参数类型来判断调用哪个方法,如果是int、short的话,先调int。如果是long、short先调long,顺序是int、long、short。

满意请采纳
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-26
常量50是有确定的类型的,这个类型就是 int ,所以结果是毫无疑问的
第2个回答  2014-07-26
会调用int的rt,因为50是int型

如果要调用short,则应该
short x=50;
r.rt(x);
我已经测试通过
第3个回答  2014-07-26
会调用int的rt

Java 如一个类中有两个同名的方法,调用的时候会用哪一个?
会根据你传递的参数类型来判断调用哪个方法,如果是int、short的话,先调int。如果是long、short先调long,顺序是int、long、short。满意请采纳

在JAVA中两个同名的方法参数类型分别是object和String时如何确定调 ...
由于String是Object的直接子类,且String类不可继承,答案很简单,传递String类型的引用则调用参数是String的方法,否则调用参数是Object的方法。

java 同名的不同方法共存的情况称为什么?如何区分这些同名方法。
一般来说,分为两种情况。一是在同一个类里面有两个或两个以上的同名的方法,这些方法的名字相同,但参数不同,这种情况中叫重载。当你调用方法时,会根据你传进去的参数的类型来决定调用哪个方法。二是一个类继承了另外一个类,子类中有和父类中一样的方法,这两个方法不仅名字相同,参数也相同,...

Java代码中有多个同名变量时 取值的顺序
输出顺序按照就近原则,先在本方法内查找,如果没有,去到本类中查找,如果也没有,再去到上一级的接口或者父类中查找。如果上一级接口和父类都同时有,那么程序就会报错。

Java类中能存在同名的两个成员方法?
在Java 中,同一个类中的2个或2个以上的方法可以有同一个名字,只要它们的参数声明不同即可。在这种情况下,该方法就被称为重载(overloaded ),这个过程称为方法重载(method overloading )。方法重载是Java 实现多态性的一种方式。如果你以前从来没有使用过一种允许方法重载的语言,这个概念最初...

java允许在一个程序中定义多个同名的方法
java允许在一个程序中定义多个同名的方法。根据查询相关公开信息显示:当编译器在编译期间遇到同名的方法时,会根据方法的参数列表来进行匹配,选择最合适的方法进行调用,因此,方法重载为开发者提供了更加灵活的编程方式,可以进一步提高代码的可读性和可维护性。方法重载的本质是通过参数列表的不同类型、不...

Java一个类里需要调不同包下的同名注解应该怎么写
用全限定名,就是带上包名 . 类名。调用不同包中的同名类也是这样用法。

Java中的一个类怎么调用另一个类中的方法?
java类有两种方法一种是类方法就是用static修饰的,一种是实例方法,就是没有static修饰的方法。类方法可以同时类名.方法名的方式调用。而实例方法必须先生存类的实例在通过实例.方法名的方式调用。如果另一个类中的那个方法是私有的话,就不能直接调用到,如果是其他类型的话看情况,如果是静态的(...

java中一个类 怎样实现2个接口有相同的方法名?
1、首先双击打开eclipse开发工具,新建一个Java项目,并创建java package。2、在对应的java package上,新建一个Java类GetMethods。3、打开文件类,定义方法buildData,并传入一个参数flag,根据flag返回不同的值。4、在main主函数中,调用getMethodName方法,并打印结果。5、保存代码并运行文件,可以查看...

当类路径中,有两个相同路径、相同文件名的类文件时,import该类时,会出...
1、package那个是本类的路径,是一定不能错的。引入的用的是import 2、不可能创建一个同包同名的类,也不允许载入这样的类,除非是不同项目。

相似回答