爲什麼m()在類a中可以通過b類和b訪問x和y類對象如果x和y是私有的。我知道,當b從a繼承時,b從a接收私人成員,即使它們不能被b使用。但對我來說奇怪的是,b成員不能使用x和y,而a以外的類不能通過b類和b類對象獲得變量,但m()可以通過b訪問x和y class和b類對象。訪問繼承的私有基類成員...通過派生類對象...在基類成員中創建
有人可以解釋這個給我使用一般規則,我錯過了或者可能解釋如何編譯器這樣'給''基礎成員派生類?
class a
{
private int x;
private static int y;
static void m()
{
b bobj = new b();
int mm = bobj.x;
int rr = b.y;
}
void n()
{
b bobj = new b();
int mm = bobj.x;
int rr = b.y;
}
}
class b : a
{
private int u;
private static int v;
static void o()
{
}
void p()
{
}
}
不知道問題出在哪裏。 'x'和'y'只能在'a'的成員之內被訪問,即使這些是由基類繼承和使用的。 – Oded