package asd;public class A { /**
* @param args
*/
public String re(String x,String y){
x+="aaaaa";
return x;
}
public String re(String x) {
return x;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
A a=new A();
System.out.print(a.re("bbbbb"));
}}
我的问题是在main函数里面调用re函数时,他会知道调用 re(String x) ,不是在c/c++中,调用re函数时,还有可能匹配re(String x,String y)吗,,,(因为只有一个参数所以只给X,Y的值为默认值),不是这样的吗,还是我记错了,????
* @param args
*/
public String re(String x,String y){
x+="aaaaa";
return x;
}
public String re(String x) {
return x;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
A a=new A();
System.out.print(a.re("bbbbb"));
}}
我的问题是在main函数里面调用re函数时,他会知道调用 re(String x) ,不是在c/c++中,调用re函数时,还有可能匹配re(String x,String y)吗,,,(因为只有一个参数所以只给X,Y的值为默认值),不是这样的吗,还是我记错了,????
c++里有默认参数
你那样调用,调用的只是re(String x)这个方法体~并不会调用到re(String x,String y)这个方法体~
using namespace std;class Test
{
public:
void print(int i){
cout << "int i is " << i << endl;
}
void print(int i, int j = 0){
cout << "int i is " << i << ", int j is " << j << endl;
}
void print(double d){
cout << "double d is " << d << endl;
}
};int main(void)
{
Test test;
test.print(3); //3的时候编译过不了,3.0的话可以过去
system("pause");
return 0;
}