方法重载
方法重载可用于功能相似,类型不同的方法,能使方法名相同,优化代码质量。
重载前:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
public class OverloadTeat1 { public static void main(String[] args) { int a = 10; int b = 20; long c = 10; long d = 20; double e = 10; double f = 20; System.out.println(sumInt(a,b)); System.out.println(sumLong(c,d)); System.out.println(sumDouble(e,f)); }
public static int sumInt(int x,int y) { return x + y; }
public static long sumLong(long x,long y) { return x + y; }
public static double sumDouble(double x,double y) { return x + y; } }
|
重载后:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
public class OverloadTeat1 { public static void main(String[] args) { int a = 10; int b = 20; long c = 10; long d = 20; double e = 10; double f = 20; System.out.println(sum(a,b)); System.out.println(sum(c,d)); System.out.println(sum(e,f)); }
public static int sum(int x,int y) { return x + y; }
public static long sum(long x,long y) { return x + y; }
public static double sum(double x,double y) { return x + y; } }
|
什么时候代码会发生重载?
条件一:在同一类中
条件二:方法名相同
条件三:参数列表(个数/类型/顺序)不同
隐藏条件:方法功能相似
同时满足以上条件就可认为发生了方法重载
方法重载与返回值的类型无关,也与修饰符列表无关。
System.out.println 方法就是方法重载最常用的例子