是否有可能在类中具有相同名称但参数不同的多个方法?

时间:2014-01-11 03:22:40

标签: java methods parameters

之前我用C编码,但我对java完全不熟悉 我正在为我的OOP课程做一个教程,这是我第一次正式学习语言

在教程中,我的教授创建了一个类,用于测试我必须自己创建的I / O帮助类(顺便说一下,教程是(a)可选的,(b)不是标记,所以我不是通过制作这个帖子作弊或任何事情......而且(c)我以前从未使用过Java,而我的很多其他同学都有,所以我落后了。)

反正。在他所做的测试课中,他调用了一个方法“getInt”,我需要把它放到我的I / O助手类中。

然而,当他调用getInt方法时,他有时会使用3个参数,有时是2个,有时是无,等等。

我知道在C中我不能这样做(对吧?),但是可以用Java做吗?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:11)

是的,这是合法的。它被称为方法重载。它在Oracle Java教程中引用 - here

以下是使用重载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
        }
    }

通常(!)你需要在方法体中放入不同的东西,以做必要的事情。

答案 1 :(得分:11)

Method overloading(或函数重载)在C ++和Java中是合法的,但前提是这些方法采用不同的参数(即做不同的事情)。您无法在C中重载。