1请看以下代码,你发现了有什么特殊之处吗?
// MethodOverload.java
// Using overloaded methods
// Using overloaded methods
public class MethodOverload {
public static void main(String[] args) {
System.out.println("The square of integer 7 is " + square(7));
System.out.println("\nThe square of double 7.5 is " + square(7.5));
}
System.out.println("The square of integer 7 is " + square(7));
System.out.println("\nThe square of double 7.5 is " + square(7.5));
}
public static int square(int x) {
return x * x;
}
return x * x;
}
public static double square(double y) {
return y * y;
}
}
return y * y;
}
}
发现:方法重载的定义是方法名相同但是参数顺序,个数,类型三者之一最少有一个不同,两个参数为例当顺序不同的时候必须是int double 重载之后是double int,但是int int,或者double double交换顺序是不重载的,返回值类型不同不会被认为方法的重载,因为例如上面代码,方法调用的时候是不会有返回值类型的,所以如果其他都一样,只是返回值类型不同,则计算机不会明白要调用哪个,所以返回值类型不同不会被认定为重载。
2练习:
查看一下JDK中System.out.println()方法,你发现了什么?
查看一下JDK中System.out.println()方法,你发现了什么?
发现System.out.println()中对各种内容的输出实际上就是对System.out.println()方法的重载。