2016-04-04 35 views
0

有一个MCQ(多项选择题),而我读我的Java学习丛书和MCQ是:在内部和外部类的情况下,Java的

问题:在内部和外部类的情况下, _________

选项包括

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

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

(c)两者的成员均可由两个类访问。 (d)这些都不是。

书上答案的关键给出的答案是(B),但我不觉得这是正确的答案,因为外部类可以访问其内部类的成员,我认为。所以请帮助我什么是正确的。

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

+0

什么是MCQ? –

+0

您是否尝试编写简单的测试用例?请在发布之前至少做到这一点,所以有一个具体的例子可以使用。 –

+0

@JimGarrison多项选择题。我编辑过。待批准。 – RubioRic

回答

0

对不起,我感到困惑。

您可以同时访问内部类和外部类。我建议尝试一个简单的例子,虽然你自己编程是你通过自己的问题只能学习的东西之一。

请参阅本,因为这可能帮助:Can an outer class access the members of inner class?

+1

你是说“外部班级不能从内部班级访问”?请张贴一个例子,因为我认为这是错的,否则我不理解你说的正确。 – ajb

+0

@ajb我编辑了我的答案。 – Porteous96

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; 
    } 
} 

的乙实例链接到一个特定的一个实例,它属于实例范围内。在其范围内,定义了A类的成员。

A类可以处理B类的几个实例。它能够操纵它们,但不能隐式地访问特定的实例成员,仅仅因为'b'从它的角度来看并不是唯一的。