java 定义可选参数

来源:百度知道 编辑:UC知道 时间:2024/07/03 11:18:47
Java定义方法的时候,是否可以把某个参数定义成可选的
比如
方法A中两个参数a和b,b就是可选的,可传可不传。
谢谢大家的热心,也许我没有说明白
在vb里,一个方法里的某个参数可传可不传可以这么写
Private Sub test(ByVal ob1 As String, Optional ByVal ob2 As String)
.....
End Sub

其中的参数ob2前几个一个Optional 属性,这样这个参数就可以可传可不传了
比如
test(ob1) 也可以调用这个方法
test(ob1,ob2)也可以调用这个方法

在Java里是否可以?不用把那个可选可不选的置为空,也不用重载。
谢谢

两种解决方法
1、调用的时候把不需要的参数传为null 在方法里面判断。
2、以相同的方法名定义多个方法如
public int A(int a){}
public int A(int a,int b){}
public int A(int a,int b,int c){}
public int A(int a,int b,int c,int d){}
//根据你的需要调用对应的方法就可以了在同一个类里面可以有多个同名字不同参数(类型,个数)的方法

可以 ,
可是如果A方法中用到了参数b,则在方法A中必须对b做判断,或者是在把b传入A方法前作判断,否则报空指针异常的。
希望从下面的小例子会对你有帮助:
public class Checkbox {

public static void test(String a,String b){
if(a.equals("a")){
System.out.println("a test");
}
if(b==null){
System.out.println("b is null");
return;
}
if(b.equals("b")){
System.out.println("b test");
}
}
public static void main ( String[] args ){
String a="a";
String b=null;
test(a,b);
}
}

当然可以,不过当你调用A方法的时候,传入的参数一定要和A方法中的参数个数以及类型相同即可……

在java中是不可以像你说的那样的……
不然会报找不到该方法的错误……

当然可以,保持程序的可拓展性需要很多空洞