java – 两个具有不同参数的同名函数,一个没有范围解析运算符,另一个没有

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

SomeOtherType* SomeClass::foo()
{
//some code
}

SomeOtherType* foo(list<Token*>& param)
{
//some more code
}

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

提前致谢.

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

public SomeOtherType foo() {
  return null;
}

public SomeOtherType foo(List<Token> tokens) {
  return null;
}

转载注明原文:java – 两个具有不同参数的同名函数,一个没有范围解析运算符,另一个没有 - 代码日志