Java 重写具有不同变量名的方法

Java 重写具有不同变量名的方法,java,oop,design-patterns,Java,Oop,Design Patterns,我有一个类似的方法 //基类 public void foo(long A, long b,long c) { //Implementation 1 } //Derived Class public void foo(long AA,long b,long c) { //Implementation 2 } 我想知道这个设计有什么问题? 供参考: 我在设计中使用代理模式 谢谢重写或重载基于变量类型,而不是变量名称(标识符)本身。因此,基本上这两种方法都有相同的签名

我有一个类似的方法 //基类

public void foo(long A, long b,long c)
 {
    //Implementation 1
 }

//Derived Class

public void foo(long AA,long b,long c)
  {
   //Implementation 2
  }
我想知道这个设计有什么问题? 供参考: 我在设计中使用代理模式


谢谢

重写或重载基于变量类型,而不是变量名称(标识符)本身。因此,基本上这两种方法都有相同的签名
void foo(long,long,long)

参数的名称并不重要。在运行时,java无法判断在给定时间要调用哪个方法。要重载方法,签名必须不同,因此必须有不同数量的参数,或者参数必须以可区分的顺序排列,即
String,int
int,String
,因为您要为foo()添加一个子类实现,这并不坏。因此,如果您需要更具体的实现,而不是一般的超类实现,则必须重写它并如上所述在那里添加特定的实现。

添加
派生类
注释是否更改了问题?不,实际上我没有重载。没有编译器错误,因为我用相同的方法签名重写。我在问这是否是一个糟糕的设计?因为我有两个具有相同参数的重写方法,但只有参数的含义不同。感谢您的输入。谢谢