方法重载:方法重载的要求就是两同一不同:同一类中方法名相同,参数列表不同
至于方法的其他部分,如方法返回值类型、修饰符等,与方法重载没有任何关系。
基本类型方法重载:
class Rin{
public void Rin(byte i) {
System.out.println("byte i " + i);
}
public void Rin(short i) {
System.out.println("short i " + i);
}
public void Rin(int i) {
System.out.println(" int i " + i);
}
public void Rin(long i) {
System.out.println(" long i " + i);
}
public static void main(String[] args) {
Rin a = new Rin();
a.Rin(125);
}
}
在java中基本数据类型,在进行赋值中存在强制类型转换,在上面类中当调用a.Rin()方法的传入值类型为byte
时传入125,在java中默认为int类型,从而其调用结果输出:int i 125。而不是想调用的byte类型。从而产生混淆。
解决方法:
传入值添加类型,例:a.Rin((byte)125);则输出: byte i 125。