2016-04-04 8 views
0

Es gibt einen MCQ (Multiple-Choice-Frage), während ich mein Java Studie Buch lese und dass MCQ ist:Bei den inneren und äußeren Klassen, Java

Frage: Bei den inneren und äußeren Klassen, _________

Optionen sind:

(a) Die Mitglieder der äußeren Klasse kann nicht durch innere Klasse zugegriffen werden.

(b) Auf die Mitglieder der inneren Klasse kann von der äußeren Klasse nicht zugegriffen werden.

(c) Mitglieder beider Klassen können von beiden Klassen erreicht werden.

(d) Keine von diesen.

Die Antwort auf Buchantwortschlüssel gegeben ist (b) aber ich fühle mich nicht als richtige Antwort, weil äußere Klasse Mitglieder seiner inneren Klasse zugreifen kann, denke ich. Also bitte hilf mir mit dem, was richtig ist.

Dank, einen schönen Tag :)

+0

Was ist ein MCQ? –

+0

Haben Sie versucht, einen einfachen Testfall zu schreiben? Bitte tun Sie zumindest das, bevor Sie hier posten, also gibt es ein konkretes Beispiel, mit dem Sie arbeiten können. –

+0

@ JimGarrison Multiple-Choice-Frage. Ich habe bearbeitet. Ausstehende Genehmigung – RubioRic

Antwort

0

Sorry für die Verwirrung.

Sie können auf beide Arten auf innere und äußere Klassen zugreifen. Ich schlage vor, ein einfaches Beispiel zu versuchen, obwohl Programmieren eines der Dinge ist, die Sie nur durch Ihre eigenen Probleme lernen.

dazu finden, da diese helfen können: Can an outer class access the members of inner class?

+1

Sie sagen "äußere Klassen können nicht von einer inneren Klasse zugegriffen werden"? Bitte poste ein Beispiel, weil ich denke, dass das falsch ist oder ich verstehe nicht, was du richtig sagst. – ajb

+0

@ajb Ich habe meine Antwort bearbeitet. – Porteous96

0

lässt es mit einigen Code

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

Eine B-Instanz in einer bestimmten A-Instanz einfach machen verknüpft ist, gehört es zu den Instanzbereich. In diesem Bereich sind die Mitglieder der A-Klasse definiert.

Die A-Klasse kann mehrere Instanzen der B-Klasse verarbeiten. Es wird in der Lage sein, sie zu manipulieren, kann aber nicht implizit auf bestimmte Instanzmitglieder zugreifen, einfach weil 'b' aus seiner Perspektive nicht eindeutig ist.