不是这样的吗?public int add(int a, int b=10)java中有没有函数声明?
public int add(int a, int b=10)在java中不能这样写,编译就知道它是错的//java当然也可以有类似java那样的函数声明 //那就是java在一个接口中声明一个抽象方法 //相当于c++中的纯虚方法但是没有像C++的头文件那样,只声明 而放在体文件里去实现java的声明与实现是在一起的。
也就是说java没有像C++那样public int add(int a, int b=10)声明参数默认值的方法,是吗?但是我觉得java设计为这样,似乎没有什么道理!
在你声明的方法中直接给定默认初值就行了。例如: class Line extends Shape{ private int start,end; Line(int start,int end){ super(start); this.start=start; 等等 } }
java与C++在设计上各有各个好处吧 c++的声明默认参数时语言上会显示的简洁点但java采用重载方法来解决 方法的调用上会显示得更明淅一点 相应数量,类型的参数调用相应的方法很清楚特别是声明为 public int add(int a, int b=10) 调用时用add(100);如果同时有一个方法是 public int add(int a)这时个逻辑上可能就不好理解,更实际上 你用add(200)来调用就会出现含混不清的编译时错误 用 add(200,100)才行
public class Abc { public void log(String message) { log(new Date(), message); } public void log(Date dt, String message) { // ... } } 是这个意思吗?
{
String a0="aaaa";
String b0="bbbb";
if(!(a==null||a.equals("")))
{
a0=a;
}
....
....
}
方法内部判定来是否使用初始值
但传递参数必须保证类型和个数
public int add(int a, int b=10)
java中的方法都是类的成员。
f(i,100);
}f(int i,int j){
}象上面你可以假设j的默认值为100的时候
就使用f(20)来使用方法
在f(int i)内部也就调用了f(int i,int j),j为100不同参数类型的重载方法也一样,反正就是没有c++方便。
//那就是java在一个接口中声明一个抽象方法
//相当于c++中的纯虚方法但是没有像C++的头文件那样,只声明
而放在体文件里去实现java的声明与实现是在一起的。
class Line extends Shape{
private int start,end;
Line(int start,int end){
super(start);
this.start=start;
等等
}
}
c++的声明默认参数时语言上会显示的简洁点但java采用重载方法来解决
方法的调用上会显示得更明淅一点
相应数量,类型的参数调用相应的方法很清楚特别是声明为
public int add(int a, int b=10)
调用时用add(100);如果同时有一个方法是
public int add(int a)这时个逻辑上可能就不好理解,更实际上
你用add(200)来调用就会出现含混不清的编译时错误
用 add(200,100)才行
log(new Date(), message);
}
public void log(Date dt, String message) {
// ...
}
}
是这个意思吗?