2017-07-27 3 views
-2

Ich habe eine Klasse mit einer inneren Klasse des Typs Array. Ich möchte Zugriff auf die lokale Variable in der inneren Klasse außerhalb der äußeren Klasse erhalten.Wie auf lokale Variablen der inneren Klasse zugreifen

public class Fruits { 

    public Citrus citrus[]; 
} 
public class Citrus{ 

    public String lemon; 
    public String orange; 
} 

Jetzt möchte ich außerhalb dieser Klassen die Variable lemon von inneren Klasse erhalten. Ich erhalte die Fehlerklasse kann nicht

+0

Ich denke, "Zitrone" und "Orange" sind Instanzvariablen der Citrus-Klasse, keine lokalen Variablen. – gprathour

+4

Wofür ist das alles? Was versuchst du zu machen? Was ist der Zweck der Verwendung einer geschachtelten Klasse? –

+0

Es sieht so aus, als sollten Sie sich auf eine einfachere Syntax konzentrieren, bevor Sie zu inneren Klassen übergehen. Der von Ihnen gepostete Code wird aufgrund syntaktischer Fehler nicht einmal kompiliert. –

Antwort

0

i für u einen Weg finden, zu ändern. Wenn Sie ein Array verwenden, sollten Sie den Index für den Zugriff auf jedes Element des Arrays verwenden.

public class Fruits { 

    public Citrus citrus[]; 

    public void test() { 
     String temp=citrus[0].lemon; 
    } 

} 
class Citrus { 
    public String lemon; 
    public String orange; 
} 

jetzt können Sie Zitronen und Orangen aus Array erhalten.

0

Try eingeben aufgelöst werden public Fruits citrus[]; zu public Citrus citrus[];

+0

Sorry, ich tippte falsch, aber so war es schon – learningUser

0

Ich denke, alles, was Sie wollen, ist der Zugriff auf die innere Klasse von außen. Das folgende Code-Snippet kann hilfreich sein, wenn Sie nur die innere Klasse instanziieren möchten.

Code ist selbsterklärend nur durch Kommentar gehen.

Verwandte Themen