java 函数重载问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 函数重载问题相关的知识,希望对你有一定的参考价值。

有这样的3个声明:

public abstract <T> List<T> queryForList(Class<T> paramClass,
String paramString);

public abstract <T> List<T> queryForList(Class<T> paramClass,
String paramString, Object[] paramArrayOfObject);

public abstract <T> List<T> queryForList(Class<T> paramClass,
String paramString, int paramInt1, int paramInt2,
Object[] paramArrayOfObject);
调用时:
jdbc.queryForList(sql, page.getPageNo(), page.getPageSize());
但是报错,提示queryForList(class, int, int) 调用模糊,实在没看出来怎么模糊不明确了,求解啊

参考技术A Java的方法重载要求同名的方法必须有不同的参数表,仅有返回类型不同是不足以区分两个重载的方法。
方法重载:方法名一定要相同,方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体,方法的返回类型、修饰符可以相同,也可不同。A,B,D都不对,但又不知道c中的参数,C也不对
是否可以解决您的问题?
参考技术B 很明显,你是调用的第二个方法,你看你的参数类型,第二个方法的第2个参数都是string类型的,第3个参数类型是数组,而你传入的参数类型是int类型的。本回答被提问者采纳

java函数的重载

 
函数重载:对于一个类中的函数,函数名相同,参数不相同,我们将它的关系称为重载
参数不同的形式:个数不同 类型不同
原因:在程序内部 真正去识别函数的时候  识别的是函数名+所有参数的类型
注意点:重载的函数本质上是不同的函数
总结:
1.函数名必须相同
2.参数必须不同:个数 类型 位置  不同 就构成重载关系
3.重载与返回值没关系
 
public static int sum(int a,int b)
    return 5;
public static int sum(int b,int a) //函数名  类型 一样
    return 5;//与1不是重载

以上是关于java 函数重载问题的主要内容,如果未能解决你的问题,请参考以下文章

深入java函数重载

关于C++函数重载问题

java 重载和重写的区别

java函数的重载

Js里重载问题

java 重载和重写的区别