中易网

java 定义可选参数

答案:4  悬赏:40  
解决时间 2021-02-01 21:22
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){}
//根据你的需要调用对应的方法就可以了在同一个类里面可以有多个同名字不同参数(类型,个数)的方法
全部回答
void test(string arg){ if(arg==null){ try { throw new exception("参数不能为空"); } catch (exception e) { e.printstacktrace(); } } }
可以 , 可是如果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中是不可以像你说的那样的…… 不然会报找不到该方法的错误……
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
GODEXG500条码打印机跳纸是什么原因,如何解
鳌鱼村我想知道这个在什么地方
没参加过高考 在昆明想读工程类大专的那个学
电影 全城通缉 演员
铜仁二中复读班一般是几号开学报名?
长安铃木羚羊7130打火后转速表长时间降不下来
湖南省大病医疗2o15年有没有新的政策,鼻咽癌
韩国uzu涂抹式水光针可不可靠啊?
钢结构中H400*250*6*10是什么意思
池塘水结冰后,因旁边修渠铺路震动,鱼糖草鱼
20=质数加质数
威信县庙沟镇这个地址在什么地方,我要处理点
以后毛岸家园里会有地铁吗
老公是二婚,他前妻去世了,有个儿子,我为老
红石峡地址有知道的么?有点事想过去
推荐资讯
脚踝有轻微骨裂 多长时间能好
沪鸽齿科材料有限公司待遇怎么样
LOL最快移动速度怎么出装和天赋。刚才看了一
cad图可不可以复制了粘贴在画图工具上
前面的车堵住了 车子一半在网状线上
我在菜百买的首饰能卖了吗,去哪卖?
那种钨钢棒韧性好不容易断,即硬度50度以上
我国什么时候停止接种水痘疫苗的
八字中有壬比肩是什么意思
dnf85版本,我平民狂战,有无影,求装备首饰
三星手机换个总成屏幕多少钱
庆云禅寺在什么地方啊,我要过去处理事情
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?