一、方法重载概述
方法重载是指:同一个类中定义的多个方法之间的关系,满足下列条件的多个方法相互构成重载
- 多个方法在同一个类中
- 多个方法具有相同的方法名
- 多个方法的参数不相同,类型不同或者数量不同
二、方法重载特点
- 重载仅对应方法的定义,与方法的调用无关,调用方式参照标准格式
- 重载仅针对同一个类中方法的名称与参数进行识别,与返回值无关,换句话说不能通过返回值来判定两个方法是否相互构成重载
范例
package exercise;
public class MethodDemo3 {
public static void main(String[] args) {
System.out.println(sum(10,20));
System.out.println(sum(10.0,20.0));
System.out.println(sum(10,20,30));
}
//求两个int类型数据和的方法
public static int sum(int a, int b) {
return a+b;
}
//求两个double类型数据和的方法
public static double sum(double a, double b) {
return a+b;
}
//求三个int类型数据和的方法
public static int sum(int a ,int b, int c) {
return a+b+c;
}
}
三、练习
package exercise;
public class MethodTest4 {
public static void main(String[] args) {
System.out.println(compare(10,20));
System.out.println(compare((byte)10,(byte)20));
System.out.println(compare((short)10,(short)20));
System.out.println(compare(10L,20L));
}
//int
public static boolean compare(int a, int b) {
System.out.println("int");
return a == b;
}
//byte
public static boolean compare(byte a, byte b) {
System.out.println("byte");
return a == b;
}
//short
public static boolean compare(short a, short b) {
System.out.println("short");
return a == b;
}
//long
public static boolean compare(long a, long b) {
System.out.println("long");
return a == b;
}
}
注意:
- 返回值类型是boolean,只返回真、假,而==是算术运算符,两边相等则返回真,否则返回假
- 数据类型转换(1、自动类型转换,小->大;2、强制类型转换,大->小)