/*
* 方法的重裁
*
* 1、定义:同一个类当中允许出现同名的方法,只要它们传递的参 数个数或者参数类型不一致即可
* 2、如:sort()
*
* 3、判断是否重载:方法名、参数列表
* 与返回值类型,结构体无关
*
* 4、通过对象调用方法时,如何确定某一个指定的方法:
* 方法名、参数列表
*/
public class overload {
//求数组的最大值1
public double getmax(double[] arr) {
int n = arr.length;
double maxflag=arr[0];
for(int i=1;i<n;i++) {
if(arr[i]>maxflag) {
maxflag=arr[i];
}
}
return maxflag;
}
//求数组的最大值2
public int getmax(int[] arr) {
int n = arr.length;
int maxflag=arr[0];
for(int i=1;i<n;i++) {
if(arr[i]>maxflag) {
maxflag=arr[i];
}
}
return maxflag;
}
}
类的实例化:
public class overloadtest {
public static void main(String[] args) {
overload ovt=new overload();
int [] arr2 = new int [] {12,45,7,8,4,0,-65,79,100,15};
double[]arr3=new double[]{14.1,2.62,3.9,10.6};
int ovtmax1= ovt.getmax(arr2);
System.out.println("a1的最大值为:"+ovtmax1);
double ovtmax2= ovt.getmax(arr3);
System.out.println("a1的最大值为:"+ovtmax2);//同样是getmax方法,但是传递的参数不同
}
}
/*
* 可变形参个数的方法
* 具体使用
* 2.1当调用可变形参的方法时,可以时一个或者多个
* 2.2可变个数形参的方法与同一个防止同方法名,参数不同的方法构成重裁
* 2.3可变个数形参的方法与同一个防止同方法名,参数相同的方法不构成重裁
*/
public class methodargs {
public void show(int i,String ...strs ) {//可变形参必须声明在末尾
System.out.println("show:"+i+" "+strs[0]+" "+strs[1]);//可变个数形参的参数列表strs看作一个数组,调用的时候要用下标调用
}
//public void show(String [] strs ) {
//System.out.println("show:"+strs[0]+" "+strs[1]);
//}
}
类的实例化:
public class methodargstest {
public static void main(String[] args) {
methodargs mt = new methodargs();
mt.show(9,"hello","world");
}
}