社区
Java SE
帖子详情
如何在java中给某一个方法的参数指定默认值!
tonysnss
2003-12-18 07:19:20
我希望给方法的形参指定一个默认值,而不必在调用的时候传递全部的参数!
各位大哥,大姐帮帮忙!
...全文
22855
26
打赏
收藏
如何在java中给某一个方法的参数指定默认值!
我希望给方法的形参指定一个默认值,而不必在调用的时候传递全部的参数! 各位大哥,大姐帮帮忙!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
26 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bigeyewolf
2003-12-22
打赏
举报
回复
public class Abc {
public void log(String message) {
log(new Date(), message);
}
public void log(Date dt, String message) {
// ...
}
}
是这个意思吗?
Yanbin_Q
2003-12-22
打赏
举报
回复
java与C++在设计上各有各个好处吧
c++的声明默认参数时语言上会显示的简洁点
但java采用重载方法来解决
方法的调用上会显示得更明淅一点
相应数量,类型的参数调用相应的方法很清楚
特别是声明为
public int add(int a, int b=10)
调用时用add(100);
如果同时有一个方法是
public int add(int a)
这时个逻辑上可能就不好理解,更实际上
你用add(200)来调用就会出现含混不清的编译时错误
用 add(200,100)才行
szzhfsz
2003-12-22
打赏
举报
回复
在你声明的方法中直接给定默认初值就行了。例如:
class Line extends Shape{
private int start,end;
Line(int start,int end){
super(start);
this.start=start;
等等
}
}
tonysnss
2003-12-22
打赏
举报
回复
也就是说java没有像C++那样public int add(int a, int b=10)声明参数默认值的方法,是吗?
但是我觉得java设计为这样,似乎没有什么道理!
Yanbin_Q
2003-12-22
打赏
举报
回复
public int add(int a, int b=10)
在java中不能这样写,编译就知道它是错的
//java当然也可以有类似java那样的函数声明
//那就是java在一个接口中声明一个抽象方法
//相当于c++中的纯虚方法
但是没有像C++的头文件那样,只声明
而放在体文件里去实现
java的声明与实现是在一起的。
tonysnss
2003-12-22
打赏
举报
回复
不是这样的吗?
public int add(int a, int b=10)
java中有没有函数声明?
Yanbin_Q
2003-12-22
打赏
举报
回复
写成多个重载的不同参数个数和类型,互相调用来满足默认形参
f(int i){
f(i,100);
}
f(int i,int j){
}
象上面你可以假设j的默认值为100的时候
就使用f(20)来使用方法
在f(int i)内部也就调用了f(int i,int j),j为100
不同参数类型的重载方法也一样,反正就是没有c++方便。
tonysnss
2003-12-22
打赏
举报
回复
这和构造函数有什么关系,我说的方法不一定是构造函数,可以任何类的成员方法。如何给它们的参数指定默认值。使我不必在每次调用时必须传递一个参数,而可以直接使用默认值。
zkjbeyond
2003-12-22
打赏
举报
回复
对啊。重载,多写几个构造函数就好了啊
tonysnss
2003-12-22
打赏
举报
回复
重载可以指定参数个数,但不能指定方法的默认值呀。
java中的方法都是类的成员。
网络咖啡
2003-12-21
打赏
举报
回复
其实我觉得这种重载方法就可以了
tonysnss
2003-12-21
打赏
举报
回复
楼上的朋友,我说的是方法的形参,不是类的数据成员。
filippo1980
2003-12-21
打赏
举报
回复
在构造的时候赋值!
tonysnss
2003-12-21
打赏
举报
回复
那样写叫形参的默认值吗?
Yanbin_Q
2003-12-19
打赏
举报
回复
java没有与C++那样的默认参数,
方法内部判定来是否使用初始值
但传递参数必须保证类型和个数
sxmines
2003-12-19
打赏
举报
回复
不是这样的吗
public int add(int a, int b=10)
tiger_wkh52741
2003-12-19
打赏
举报
回复
赞成:
要么在方法中给参数一些初始值,要么写成类,用不同的构造函数
dabinzeng
2003-12-19
打赏
举报
回复
是这样写的吗?有点怀疑.MARK
loveyousomuch
2003-12-18
打赏
举报
回复
晕,就这样写啊?
我还以为可以想c++中的在型参那里赋值呢!
CoolAbu
2003-12-18
打赏
举报
回复
public void yourMethod(String a,String b)
{
String a0="aaaa";
String b0="bbbb";
if(!(a==null||a.equals("")))
{
a0=a;
}
....
....
}
加载更多回复(6)
java
参数
默认值
_
java
函数
参数
默认值
Java
与C++不同不支持
方法
中
的
参数
带
默认值
,但是可以通过重载、可变
参数
来实现该功能
方法
一:重载public class Test{/*** @param args*/public String getName(String firstName,String secondName){return firstName+"."+secondName;}public String getName(St...
java
函数给
默认值
_函数
参数
的
默认值
在C
中
,关于它们在
参数
列表
中
的位置对默认
参数
施加的要求如下:必须
指定
给定
参数
的默认
参数
不超过一次 . 多次
指定
它(即使具有相同的
默认值
)是非法的 .具有默认
参数
的
参数
必须在
参数
列表的末尾形成
一个
连续的组 .现在,记住这一点,只要满足上述要求,就可以在C
中
“增长”具有默认
参数
的
参数
集,从
一个
函数声明到下
一个
声明 .例如,您可以声明
一个
没有默认
参数
的函数void foo(int a, int b);为...
java
默认
参数
_
Java
方法
的
参数
可以有
默认值
吗?
Java
方法
的
参数
可以有
默认值
吗?例如void method(String p1, int p2, bool p3=false);回答
Java
不支持这种特性,如果你真的有需求,你可以通过
方法
的重载间接的支持默认的
参数
值使用工厂模式重载这个很简单void method(String p1, int p2, bool p3){// ....};void method(String p1, int p...
java
方法
传参设置
默认值
给大家整理了一些有关【
方法
,
Java
】的项目学习资料(附讲解~~):https://edu.51cto.com/course/29338.htmlhttps://edu.51cto.com/course/35714.html
Java
方法
传参设置
默认值
的实现与应用 在
Java
编程
中
,我们经常需要为
方法
设置
参数
,以实现不同...
Java
不支持
方法
中
的
参数
带
默认值
解决办法
Java
不支持
方法
中
的
参数
带
默认值
,但是有
方法
来实现该功能的,这就需要使用
方法
重载 (其实spring框架能实现这个功能) public void getRandom(int count) { int length = 5; boolean ratable = true; TestParameter(count, length ,ratable); ...
Java SE
62,635
社区成员
307,269
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章