今天作者分享给兄弟们的是重载和可变参数
重载说的就是你创建的方法名字可以重复,但必须有不同,返回类型不管事的呀,参数类型不同可以换(就是说两者的位置不同)但注意两个int,直接给你报错。参数的数量不同也可以构成重载。
?
?
public class OverLoad
{
public static void main(String[] args)
{
//案例:类:MyCalculator 方法:calculate
// 1) calculate(int n1, int n2) 两个整数的和
// 2) calculate(int n1, double n2) 一个整数,一个 double 的和
// 3) calculate(double n2, int n1)//一个 double ,一个 Int 和
// 4) calculate(int n1, int n2,int n3)三个 int 的和
MyCalculator ybb = new MyCalculator();
int text10=9;
int text20=16;
int text30=32;
double text40 = 2.8;
double text50 = 4.5;
String str = "棍鲨";
double text60 = 3.4;
int text01 = ybb.calculate(text10,text20);
double text02 = ybb.calculate(text10,text40);
double text03 = ybb.calculate(text50,text20);
int text04 = ybb.calculate(text01,text20,text30);
System.out.println(text01+" "+text02+" "+text03+" "+text04);
int k = ybb.m(text10);
int j = ybb.m(text20,text30);
System.out.println(k+" " +j+" ");
ybb.m(str);
int a = ybb.max(text10,text20);
double b = ybb.max(text50,text40);
double c = ybb.max(text40,text50,text60);
System.out.print(a+" "+c+" "+b);
}
}
class MyCalculator//练习重载
//第一点参数数量不同
//不同类型参数顺序不同
//返回类型无要求
{
public int calculate(int a ,int b)//数量不同
{
return a+b;
}
public int calculate(int a ,int b,int c)//类型不一的换位置
{
return a+b+c;
}
public double calculate(double a ,int b)
{
return a+b;
}
public double calculate(int b ,double a )
{
return a+b;
}
public int m(int a)
{
/*接受一个int,求平方
接受两个int求成绩
接受一个字符串打印*/
return a*a;
}
public int m(int a,int b)
{
return a*b;
}
public void m(String str)
{
System.out.println("字符串信息为"+str);
}
public int max(int a ,int b)//下面都是案例
{
return a>b?a:b;
}
public double max(double a ,double b)
{
return a>b?a:b;
}
public double max(double a ,double b ,double c)
{
double max01=a>b?a:b;
return c>max01?c:max01;
}
}
?兄弟们,还有可变参数总之就是在同一个方法里,你可以把一个变量写成 类型+... 加变量名
这样你就可以用的时候就可以随便加变量了,但记住你只能有一个且这个只能放在最后呀
public class VaeParameterexercise
{
public static void main(String[] args)
{
Mymethod a = new Mymethod();
double t1 = 283.2;
double t2 = 283.2;
double t3 = 283.2;
double t4 = 283.2;
double t5 = 283.2;
String str = "小廖";
System.out.print(a.chengji("小廖",t1,t2,t3,t4));
}
}
class Mymethod
{
public String chengji(String str,double... num)
{
double sum = 0 ;
for(int k = 0 ;k<num.length;k++)
{
sum+=num[k];
}
return str+num.length+"科的成绩是"+sum;
}
}
最后跟兄弟们说我今天做的一个练习就是字符串+可变参数
可我一直返回类型搞错了,他要返回的是String类型,并且只能在system.out.print()括号里用
|