1.方法的重载:多个方法的名称一样,但是参数列表不一样
public class test{ public static void main(String[] args){ System.out.println(sum(10, 20));//30 System.out.println(sum(10, 20, 30));//60 System.out.println(sum(10, 20, 30, 40));//100 } public static int sum(int a,int b){ return a+b; } public static int sum(int a,int b,int c){ return a+b+c; } public static int sum(int a,int b,int c,int d){ return a+b+c+d; } }
2.方法重载与下列因素相关
(1)参数个数不同
(2)参数类型不同
(3)参数的多类型顺序不同
public class test{ public static void main(String[] args){ System.out.println(sum(2.3, 3.6)); //5 System.out.println(sum(2.3, 4)); //6 System.out.println(sum(4, 5.6)); //9 } public static int sum(double a,double b){ return (int)(a+b); } public static int sum(int a,double b){ return (int)(a+b); } public static int sum(double a,int b){ return (int)(a+b); } }
3.方法重载与以下因素无关
(1)与方法的返回值类型无关
(2)与参数的名称无关
4.方法重载练习
(1)比较两个数据是否相等
public class test{ public static void main(String[] args){ byte a=10; byte b=50; System.out.println(isSame(a, b)); //执行byte类型 System.out.println(isSame(20, 20)); //执行int类型 System.out.println(isSame((short)a, (short)b)); //执行short类型 System.out.println(isSame(10L, 20L)); //执行long类型 } //byte类型 public static boolean isSame(byte a,byte b){ System.out.println("执行byte类型"); boolean same; if(a==b){ same=true; }else{ same=false; } return same; } //int类型 public static boolean isSame(int a,int b){ System.out.println("执行int类型"); boolean same=a==b?true:false; return same; } //short类型 public static boolean isSame(short a,short b){ System.out.println("执行short类型"); boolean same=a==b; return same; } //long类型 public static boolean isSame(long a,long b){ System.out.println("执行long类型"); return a==b; } }
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)