请问在JAVA中函数的参数可以有缺省值吗?

yoshubom 2006-01-23 02:27:41
问一个关于JAVA的问题,就是在JAVA中函数的参数可以有缺省值吗?在C++可以用例如:
void function (int i=10,int j=20)
{
//……
}
来实现,但是JAVA中我不知道如何实现呀
...全文
3450 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yoshubom 2006-01-23
  • 打赏
  • 举报
回复
原理JAVA里面只能函数重载呀,明白了。
725137 2006-01-23
  • 打赏
  • 举报
回复 1
那你这样啊,写两个function.一个有参数一个没有参数.不给值时就是23.给值就等于你的值


public function()
{
int a=23;
}


public function(int a)
{
}
leonwu1981_2 2006-01-23
  • 打赏
  • 举报
回复
支持 acd123456(低智商野蛮人) ,看看jdk的源码,很多这样写的
acd123456 2006-01-23
  • 打赏
  • 举报
回复
java里这样不行

对于void function(int i=10){}这样的函数要使用默认值的话
你可以通过重载一个无参数函数
void function(){
function(10);}来实现
acd123456 2006-01-23
  • 打赏
  • 举报
回复
java
yoshubom 2006-01-23
  • 打赏
  • 举报
回复
缺省值的意义在于例如我的void function(int i=10){}
如果我调用的时候没有给数据 void function(),那么函数的参数就是默认值,如果给了数据给形参那么 void function(60) 函数的参数值就是60。
这个在C++中是这样实现的但是在JAVA中类似的方法如何实现呢?
yoshubom 2006-01-23
  • 打赏
  • 举报
回复
一定要数据成员吗?不能仅仅用一个形参来表示?
725137 2006-01-23
  • 打赏
  • 举报
回复
你这样没有意义啊
class A
{
private int a=23;
public A(){}

public SetA(int a)
{
a=this.a;
}
public function(int a)
{
a=this.a;
}
}

这里的function方法中的a.默认为23.如想改变a的值.要先调用SetA()方法
yoshubom 2006-01-23
  • 打赏
  • 举报
回复
能不能举个例子来说说呀,是不是所有函数都可以这样做呀?
sdliubo 2006-01-23
  • 打赏
  • 举报
回复
可能通过构造函数来实现

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧