帮助我解决此重载程序
public class Overloading
{
void add()
{
System.out.println("Default");
}
void add(int a)
{
System.out.println("One Int Parameter is passed"+a);
}
void add(int a,int b)
{
System.out.println("Two Int Parameter is passed"+a+" "+b);
}
void add(int a,int b,int c)
{
System.out.println("Three Int Parameter is passed"+a+" "+b+" "+c);
}
void add(char x)
{
System.out.println("One Char Parameter is passed"+x);
}
void add(char x,char y)
{
System.out.println("Two Char Parameter is passed"+x+" "+y);
}
void add(char x,char y,char z)
{
System.out.println("Three Int Parameter is passed"+x+" "+y+" "+z);
}
public static void main(String []args)
{
Overloading d=new Overloading();
d.add(z);
}
}
当我使用d.add(1)或其他东西时它工作但使用d.add(“p”)它不起作用 帮帮我...... 和Thanx提前
答案 0 :(得分:1)
如果你这样称呼它就可以了:
d.add('p');
答案 1 :(得分:0)
"1"
是字符串,'1'
是字符。你需要的角色不是String。
所以
d.add('p');
答案 2 :(得分:0)
试试这个:
d.add('p');
您的void add(char x)
方法使用参数字符而不是字符串。 'p'
是字符,而"p"
是字符串。
答案 3 :(得分:0)
也许是因为“p”是string
,而您只有接受char
的方法。你需要另一个重载:
void add(string s)
答案 4 :(得分:0)
请更改d.add("p");
到
d.add('p');
因为char是' p'不是" p" (这是字符串类型,它需要add(string s){}
函数 - 你错过了)
你也可以添加:
void add(string s)
{
System.out.println("One string Parameter is passed"+s);
}
答案 5 :(得分:0)
你应该使用,
d.add('p');
因为你的重载是char而不是字符串。
答案 6 :(得分:0)
通过使用此电话:
d.add("p");// you are calling a add() with parameter of type string
没有这么多方法,所以导致错误。 为了使其工作枯萎使用:
d.add('p');// considered as char parameter
或将字符串参数方法添加为:
void add(String x)
{
System.out.println("One String Parameter is passed"+x);
}
希望它会有所帮助!