重载程序时出错

时间:2013-04-01 11:23:44

标签: java

帮助我解决此重载程序

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提前

7 个答案:

答案 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);
}
希望它会有所帮助!