当前位置:编程学习 > wap >>

同一个名字的两个函数返回不同类型的数据

public String getValues (String name)

public int getValues (String name)
函数名和参数都是一样的,
返回类型一个是String,另一个是int
但是报错:“Duplicate method getValues(String) in type”
怎么解决这个问题啊?
这不是重载吗?怎么会报错? --------------------编程问答-------------------- 重载只看参数,不看返回数值 --------------------编程问答-------------------- 不要重复定义。 --------------------编程问答-------------------- 那怎么解决呢?只能改函数名字? --------------------编程问答-------------------- 重载是基于方法签名进行的
即虽然方法名是一样的但编译后的方法签名其实是不同的,以此区分不同的方法
但方法签名中只包含方法名和参数类型,不包括返回值
因为重载方法时,同名方法需要在参数类型或参数数量上有所区别
想lz的代码中,方法名相同、方法参数数量相同、方法参数类型相同,编译时会被认为是同一个方法被定义了两次 --------------------编程问答--------------------
引用 1 楼  的回复:
重载只看参数,不看返回数值

可以在其中一个方法中增加一个参数即可   调用的时候直接传个null值

列如:
public String getValues (String name)
public int getValues (String name)
改成
public String getValues (String name,String flag)
public int getValues (String name) --------------------编程问答-------------------- 重载是方法名相同 
参数不同的方法
返回类型可以不同 --------------------编程问答-------------------- 这种技术也能当中科院院士 --------------------编程问答-------------------- --!
重载定义再看看哈...
补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,