2012-04-09 83 views
0

我想在父類中訪問子類變量..可以建議我如何根據以下代碼片段繼續執行 ?在父類中讀取子類變量

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

哪裏是我走錯了一步..這是僞代碼,這可能會幫助你回答

+0

您需要給我們更多的信息,你想達到什麼目的?你是否試圖從基類訪問'Test.xmlFile_Test'變量?或者從派生的方法調用基本方法? – Jack 2012-04-09 18:17:57

+0

是插孔。我正試圖訪問父類中的「Test.xmlFile_Test」。 – 2012-04-09 18:26:53

回答

2

中創建一個基類叫做getXMLFile()方法及其所有子類

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

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

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

是否可以調用基類方法和訪問子類變量?基於新修改的新僞碼 – 2012-04-09 18:32:14