对于内部类和外部类,Java



当我读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"不是唯一的。

很抱歉造成混淆。

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

引用这个可能会有所帮助:外部类是否可以访问内部类的成员?

相关内容

  • 没有找到相关文章

最新更新