2012-04-09 6 views
0

Ich versuche, Kind Klassenvariablen in der Elternklasse zugreifen .. können Sie mir vorschlagen, wie Sie weitergehen basierend auf unten Code-Snippet?lesen Kind Klassenvariablen in der Elternklasse

public abstract class Base{ 

//some abstract methods 
//one more method to parse the xml 
    public final void parseXml(){ 
     String clName = Thread.currentThread().getStackTrace()[1].getClassName(); //child class name 
     if(xmlFile_+clName){ //i am trying to access "Test.xmlFile_Test", 
      //execute the if string is available 
     } 

    } 
} 
public class Test extends Base{ 
    public static final String xmlFile_Test = "<Hello>sample</Hello>"; 
    public int execute(){ 
     parseXml(); //This should call base class method 
    } 
} 

Wo ist mein falscher Schritt ist .. das ist Pseudo-Code, mit dem Sie

+0

Sie müssen genannt beantworten könnte helfen um uns mehr Informationen zu geben, was wollen Sie erreichen? Versuchen Sie, auf die Variable "Test.xmlFile_Test" von der Basisklasse zuzugreifen? Oder die Basismethode von der abgeleiteten aufrufen? – Jack

+0

ja Buchse. Ich versuche auf "Test.xmlFile_Test" in der übergeordneten Klasse zuzugreifen. –

Antwort

2

Erstellen Sie eine Methode getXMLFile() in der Basisklasse und alle ihre Unterklassen

public class Base{ 
    protected String getXMLFile(){ 
     return "BaseXML"; 
    } 

    public void foo(){ 
     if(getXMLFile() ....){ 
      ... 
     } 
    } 
} 

public class Test{ 
    @Override 
    protected String getXMLFile(){ 
     return "TestXML"; 
    } 
} 
+0

wird es möglich sein, die Basisklassenmethode aufzurufen und auf die untergeordnete Klassenvariable zuzugreifen? basierend auf dem neu modifizierten neuen Pseudo-Code –

Verwandte Themen