在内部和外部类的情况下,Java

时间:2016-04-04 05:05:49

标签: java inner-classes outer-classes

在我阅读我的Java学习书时,有一个MCQ(多项选择题),MCQ是:

问题:如果是内部和外部类,_________

选项

(a)内部类不能访问外部类的成员。

(b)外部类不能访问内部类的成员。

(c)两个班的成员都可以访问。

(d)这些都不是。

书籍答案密钥的答案是(b) ,但我感觉不是正确的答案,因为外部类可以访问其内部类的成员我认为。所以请帮助我做正确的事。

谢谢,祝你有个美好的一天:)

2 个答案:

答案 0 :(得分:0)

很抱歉这个混乱。

您可以通过两种方式访问​​内部和外部类。我建议尝试一个简单的例子,因为编程是你只能通过自己的问题学习的东西之一。

请参阅此内容,因为这可能有所帮助:Can an outer class access the members of inner class?

答案 1 :(得分:0)

让一些代码简化

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'从它的角度来看并不是独一无二的。