两个具有不同参数的同名函数,一个没有范围分辨率运算符,另一个没有

Joh*_*nny 4 java

我正在将程序从C++转换为Java.在我的C++代码中,我在SomeClass类中有两个函数,它们具有相同的名称,但具有不同的参数,并且一个函数使用范围解析运算符而另一个函数没有.

SomeOtherType* SomeClass::foo()
{
//some code
}
Run Code Online (Sandbox Code Playgroud)

SomeOtherType* foo(list<Token*>& param)
{
//some more code
}
Run Code Online (Sandbox Code Playgroud)

由于Java不使用范围解析运算符,如何在Java中等效地实现这些函数?

提前致谢.

Rob*_*ahl 6

重载在Java中基本相同.只要参数不同,您就可以定义多个具有相同名称的方法.所以你可以写:

public SomeOtherType foo() {
  return null;
}

public SomeOtherType foo(List<Token> tokens) {
  return null;
}
Run Code Online (Sandbox Code Playgroud)