当我阅读我的 Java 学习书时,有一个 MCQ(多项选择题),MCQ 是:
问题:对于内部类和外部类,_________
选项是:
(a) 外部类的成员不能被内部类访问。
(b) 内部类的成员不能被外部类访问。
(c) 两个类都可以访问两者的成员。
(d) 这些都不是。
本书答案键上给出的答案是(b),但我认为它不是正确答案,因为我认为外部类可以访问其内部类的成员。所以请帮助我做正确的事。
谢谢,祝你有美好的一天:)
当我阅读我的 Java 学习书时,有一个 MCQ(多项选择题),MCQ 是:
问题:对于内部类和外部类,_________
选项是:
(a) 外部类的成员不能被内部类访问。
(b) 内部类的成员不能被外部类访问。
(c) 两个类都可以访问两者的成员。
(d) 这些都不是。
本书答案键上给出的答案是(b),但我认为它不是正确答案,因为我认为外部类可以访问其内部类的成员。所以请帮助我做正确的事。
谢谢,祝你有美好的一天:)
对困惑感到抱歉。
您可以通过两种方式访问内部类和外部类。我确实建议您尝试一个简单的示例,因为编程是您只能通过自己的问题学习的东西之一。
请参阅此内容,因为这可能会有所帮助:外部类可以访问内部类的成员吗?
让我们用一些代码让它变得简单
public class A {
public int a = 1;
public class B {
public int b = 2;
public int getAfromB() { return a; } // ACCESS OUTER CLASS MEMBER IMPLICITLY
public int getBfromB() { return b; }
}
public int getBfromA() {
B myB1 = new B();
B myB2 = new B();
return myB1.b + myB2.b;
}
}
一个 B 实例链接到一个特定的 A 实例,它属于实例范围。在其范围内,定义了 A 类的成员。
A 类可以处理 B 类的多个实例。它将能够操纵它们,但不能隐式访问特定的实例成员,因为从它的角度来看,'b' 不是唯一的。