同一类Java中的重载
我现在正试图理解重载,有点困惑。我知道当调用同一个方法时,它不能有完全相同的参数。例如,使用两个int变量调用一个方法,然后使用两个不同的int变量调用另一个方法。但是如果我使用int和float,就可以了。我知道返回类型并不重要,但它是公共方法还是私有方法呢。这有关系吗 例如,假设我调用同一类Java中的重载,java,overloading,Java,Overloading,我现在正试图理解重载,有点困惑。我知道当调用同一个方法时,它不能有完全相同的参数。例如,使用两个int变量调用一个方法,然后使用两个不同的int变量调用另一个方法。但是如果我使用int和float,就可以了。我知道返回类型并不重要,但它是公共方法还是私有方法呢。这有关系吗 例如,假设我调用public int name(int x)我可以调用private int name(int x) 我假设公共双名(String x)也会导致类中的重载,对吗?公共整数名(整数x,字符串y)是否有效?将字符串
public int name(int x)
我可以调用private int name(int x)
我假设公共双名(String x)
也会导致类中的重载,对吗?公共整数名(整数x,字符串y)
是否有效?将字符串参数传递给int函数?这会导致过载或错误吗
编辑:不要相信这个问题是重复的,我的主要问题是公共和私有之间的区别,它们是方法还是不同,是否会导致过载。未在其他问题中解决该问题。来自:
重载方法通过传入方法的参数的数量和类型来区分
不能用相同的名称、相同数量和类型的参数声明多个方法,因为编译器无法区分它们
所以不,访问修饰符不算数。您不能同时拥有公共int name(int x)
和私有int name(int x)
我假设公共双名(String x)
也会导致类中的重载,对吗
是,因为它的名称相同,但参数类型不同
公共整数名(整数x,字符串y)
是否有效?将字符串参数传递给int函数?这会导致过载或错误吗
同样,由于它有相同的方法名,但参数类型不同,因此它是一个重载方法。与其问我们它是否有效,不如自己试试?发现是最好的学习方式。对不起,我不在我的开发人员电脑上,这台电脑上没有安装Java,不过我当然同意你的看法@人工尝试和错误并不一定能保证某些东西总是有效的。行为可能是未定义的或特定于实现的。那么
public int name(int x)
和private int name(int x)
不会导致重载吗?由于public和private的原因,这两个方法在类中是完全不同的吗?谢谢你的回复,我理解其余的。@still2blue这两个方法甚至不能一起编译private
或public
不用于确定方法是否重载。