方法重载
1.方法重载如何利用和利用场景
多个方法在同一个类中
多个方法名字相同
多个方法的参数类型不同,个数不同;
2.代码示例
class math{
public int TwoNumber(int a,int b){
return a+b;
}
public double TwoNumber(double a,double b){
return a*b;
}
}
以上代码是java方法重载的一个例子,就是方法名字相同但就是参数不一样
写一个完整代码,代码如下
package Methodoverload;
class math{
public int TwoNumber(int a,int b){
return a+b;
}
public double TwoNumber(double a,double b){
return a*b;
}
public String toString(){
return "math instance";
}
}
public class test1 {
public static void main(String args[])
{
math a = new math();
int c=a.TwoNumber(1,1);
double k=a.TwoNumber(1.1,2.2);
System.out.println(c); // Print the result of two numbers addition
System.out.println(k); // Print the result of two numbers multiplication
System.out.println(a); // Print the math instance using toString() method
}
}
这是一个方法重载的完整代码
3.需要注意的点
1.方法重载中如果两个方法名字相同,参数个数相同,并且参数类型相同,那就不能构成方法重载,比如说将上面的代码改一下
class math{
public int TwoNumber(int a,int b){
return a+b;
}
public int TwoNumber(int c,int d){
return c*d;
}
public String toString(){
return "math instance";
}
}
就比如以上代码就会报错
java: 已在类 Methodoverload.math中定义了方法 TwoNumber(int,int)
这是报错的类型
2.方法重载只会对参数和方法名进行识别,不能以返回值去判断进行判断方法识别
class math{
public int TwoNumber(int a,int b){
return a+b;
}
public void TwoNumber(int c,int d){
c=c*d;
}
public String toString(){
return "math instance";
}
}
就比如以上代码,java报错原因
java: 已在类 Methodoverload.math中定义了方法 TwoNumber(int,int)
以上就是java方法重载
java可变参数
1.可变参数利用场景
利用场景就是java中,可以将名称相同,功能相同,但是形参个数不同的多个函数,封装为某个类中的一个函数。
2.代码示例
public int T(int ... a){
int i,c=0;
for(i=0;i<a.length;i++){
c=c+a[i];
}
return c;
}
int... a 就代表着可变参数
具体代码
package Methodoverload;
class score{
public int T(int ... a){
int i,c=0;
for(i=0;i<a.length;i++){
c=c+a[i];
}
return c;
}
}
public class test2 {
public static void main(String args[]){
score a=new score();
int b=a.T(1,2,3);
System.out.println(b);
}
}
以上代码就是求和一段代码,而a.T(),括号中的数是可变的,可以是1,2,3也可以是1,2 就是它的参数的数量是可变的
3.注意事项
如
class score{
public int T(int b,int ... a){
int i,c=0;
for(i=0;i<a.length;i++){
c=c+a[i];
}
return c;
}
}
这样也可以,就如上面的示例中加了一个int b,所以就是以上例子可变参数a要加在不可变参数b的后面
2.一个形参列表只能出现一个可变参数
这的意思就很明显了一个方法,一个形参列表中只能有一个可变参数,可以有多个不可变参数
以上就是不可变参数的知识