Java 一个类中可能有多个名称相同但参数不同的方法吗?
我以前用C编写过代码,但我对java完全陌生 我正在为我的OOP课程做一个教程,这几乎是我第一次正式学习这种语言 在教程中,我的教授制作了一个类,用于测试我必须自己制作的I/O助手类(顺便说一句,教程是(a)可选的,并且(b)不是为了分数,所以我没有通过制作这个线程作弊或做任何事情……以及(c)我以前从未使用过java,而我的许多其他同学都使用过,所以我落后了) 无论如何。在他创建的测试类中,他调用了一个方法“getInt”,我需要将该方法放入我的I/O助手类中 然而,当他调用getInt方法时,他有时使用3个参数,有时使用2个,有时不使用,等等Java 一个类中可能有多个名称相同但参数不同的方法吗?,java,methods,parameters,Java,Methods,Parameters,我以前用C编写过代码,但我对java完全陌生 我正在为我的OOP课程做一个教程,这几乎是我第一次正式学习这种语言 在教程中,我的教授制作了一个类,用于测试我必须自己制作的I/O助手类(顺便说一句,教程是(a)可选的,并且(b)不是为了分数,所以我没有通过制作这个线程作弊或做任何事情……以及(c)我以前从未使用过java,而我的许多其他同学都使用过,所以我落后了) 无论如何。在他创建的测试类中,他调用了一个方法“getInt”,我需要将该方法放入我的I/O助手类中 然而,当他调用getInt方法时
我知道在C语言中我无法做到这一点(对吗?),但在Java中有可能做到吗?如果是,怎么做 是的,这是合法的。这称为方法重载。Oracle Java教程-,对此进行了描述 下面是如何使用重载的
getInt
方法实现类
public class Foo {
...
public int getInt(String s1) {
// get and return an int based on a single string.
}
public int getInt(String s1, int dflt) {
// get and return an int based on a string and an integer
}
}
通常(!)你需要在方法体中放置不同的东西,做所需要的。
< P>(或函数重载)在C++和java中是合法的,但是只有当方法采取不同的参数(即做不同的事情)时才是合法的。您不能在中重载。请参阅:“Java编程语言支持重载方法,Java可以区分具有不同方法签名[但名称相同]的方法。这意味着,如果类中的方法具有不同的参数列表,则它们可以具有相同的名称…”(Java不是C),请注意,重载与“OOP”无关-并不是所有OOP语言都支持重载,并且一些具有重载的语言不是OOP。感谢您的快速回复!!我的问题是我的helper类已经基本完成了,但它只适用于prof包含所有3个参数的情况。对于所有其他实例,都有红色的EclipseX,它告诉我我的参数不匹配。我该如何着手解决这个问题?不清楚您在问什么,但听起来您需要在类中实现getInt
方法的所有重载。。。他的助手类正在调用。