考慮下面的類:如何調用名稱與另一個函數相同的私有類中的函數?
class Foo
{
private class Bar
{
int operatedNumber;
Bar(int x, int y)
{
operatedNumber = operate(x,y);
}
int operate(int x)
{
return x*2;
}
}
public int operate(int x, int y)
{
return x+y;
}
public Foo()
{
Bar b = new Bar(3,5);
}
}
我收到編譯時錯誤The method operate() is not applicable for the arguments (int, int).
有沒有辦法來調用第二operate()
功能?
注意,還有其他一些問題與您的代碼,超出了問題,你已經證明。有一個例子*只有*在問題中有問題是有幫助的。 –
@ SJuan76:這真的很重要。 OP想要調用封閉類中的方法。在標題中沒有很好地表達,但身體相當清晰。 –
在你的main中有一些不好的東西,爲了得到一個'Bar'的實例,首先需要一個'Foo'的實例,除此之外你的方法操作是無效的,而且你正在返回一些東西。 – nachokk