Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 一个类中可能有多个名称相同但参数不同的方法吗?_Java_Methods_Parameters - Fatal编程技术网

Java 一个类中可能有多个名称相同但参数不同的方法吗?

Java 一个类中可能有多个名称相同但参数不同的方法吗?,java,methods,parameters,Java,Methods,Parameters,我以前用C编写过代码,但我对java完全陌生 我正在为我的OOP课程做一个教程,这几乎是我第一次正式学习这种语言 在教程中,我的教授制作了一个类,用于测试我必须自己制作的I/O助手类(顺便说一句,教程是(a)可选的,并且(b)不是为了分数,所以我没有通过制作这个线程作弊或做任何事情……以及(c)我以前从未使用过java,而我的许多其他同学都使用过,所以我落后了) 无论如何。在他创建的测试类中,他调用了一个方法“getInt”,我需要将该方法放入我的I/O助手类中 然而,当他调用getInt方法时

我以前用C编写过代码,但我对java完全陌生 我正在为我的OOP课程做一个教程,这几乎是我第一次正式学习这种语言

在教程中,我的教授制作了一个类,用于测试我必须自己制作的I/O助手类(顺便说一句,教程是(a)可选的,并且(b)不是为了分数,所以我没有通过制作这个线程作弊或做任何事情……以及(c)我以前从未使用过java,而我的许多其他同学都使用过,所以我落后了)

无论如何。在他创建的测试类中,他调用了一个方法“getInt”,我需要将该方法放入我的I/O助手类中

然而,当他调用getInt方法时,他有时使用3个参数,有时使用2个,有时不使用,等等


我知道在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
方法的所有重载。。。他的助手类正在调用。