Java 单个方法的多个参数

Java 单个方法的多个参数,java,void,Java,Void,我不知道这有多简单,也不知道这是否可能,但我似乎找不到任何关于它的信息。对于一个方法,有一种方法可以设置多个参数 例如,在这个公共void中,当调用java文件中的方法时,需要调用组件和字符串 public void testMethod(Component c, String s) { //Do Something } 有没有办法说public void testMethodComponent c、String d或public void testMethodComponent c、

我不知道这有多简单,也不知道这是否可能,但我似乎找不到任何关于它的信息。对于一个方法,有一种方法可以设置多个参数

例如,在这个公共void中,当调用java文件中的方法时,需要调用组件和字符串

public void testMethod(Component c, String s)
{
    //Do Something
}

有没有办法说public void testMethodComponent c、String d或public void testMethodComponent c、int i,并且在调用方法时可以指定这两种方法?

这称为方法重载。只需将它们创建为单独的方法,编译器通常会根据您的输入值推断正确的方法。

是的,这是可能的,并且是一个重要的概念。这种特殊的技术称为函数重载。假设您声明了两个函数,如:

  public void testMethod(Component c, String d) {} //function 1

然后,您可以从main调用以下函数:

  testMethod(c,"Hello")   //calls function 1
  testMethod(c,1)   //calls function 2

这称为方法重载。只要参数不同,任何两个方法都可以具有相同的名称。例如:

public void doStuff(String string, int integer) {}
public void doStuff(Object object, float flt) {}
public void doStuff(String string) {}
public void doStuff(Object object) {}
这也适用于施工人员:

public Thing(String name, int id) {}
public Thing(Object object, long id) {}
但是,以以下两种方法为例:

public void doStuff(String string, int integer) {}
public void doStuff(Object object, float flt) {}
public void doStuff(String string) {}
public void doStuff(Object object) {}

现在,调用doStuffnull方法。编译器无法推断要使用哪一个;在这种情况下,您将得到一个编译错误。构造函数中也会出现这种情况,只是为了避免这种情况,构造函数与方法几乎相同。

简单地说,您可以

public void testFunction(Component c, String s) {
    // Handle on a string
}

public void testFunction(Component c, int i) {
    // Handle on integer
}

这称为方法重载。无论传递哪种类型,都会导致函数调用使用适当的方法。参数的顺序仍然很重要。

是的,它被称为方法重载。您可以很容易地自己测试它。是的,这是可能的。请把你的基本知识弄清楚。阅读一些教程,比如谢谢大家。这是非常有用的,你花了15分钟想知道这样的事情是否可能。你花了10分钟打这个问题。我们花了30秒阅读您的问题,并在评论中为您提供答案。我向您保证,Java编译器可以在不到25分30秒的时间内编译出这样一个小程序。如果您没有Java编译器,在google上快速搜索具有不同参数的同一方法仍然比发布问题快。复制粘贴失败。我认为这两个调用都会调用fnct 1您的方法示例仍然存在案例问题。+1表示参数顺序很重要。许多人忘记了这一点。有时候我自己也是