這裏是我的方案:力的基類使用它自己的方法,而不是overrided方法
class SomeBaseClass
{
public void foo(String str)
{
.......
}
public void foo(String strs[])
{
.......
}
}
class MyClass extends SomeBaseClass
{
public void foo(String str)
{
super.foo(str);
}
public void foo(String strs[])
{
throw new RuntimeException("only one input please!");
}
}
的邏輯很簡單。 「SomeBaseClass」是我無法修改的第三方工具。我想限制它的功能並且不想允許foo(String strs [])。
問題是在SomeBaseClass foo(Sting str)內部調用foo(String strs [])。因此,當我調用MyClass的foo(String str)時,我得到一個運行時異常。我怎麼能告訴SomeBaseClassclass使用SomeBaseClass :: foo的(可疑交易報告的字符串[])和所有其他類使用MyClass的:: foo的(可疑交易報告的字符串[])
瘋狂的猜測,你嘗試過'this.foo()'? (儘管我不太瞭解Java) –