2014-11-25 80 views
2

如何從另一個文件使用變量?我正在編寫自動化測試(Selenium和TestNG)。我想存儲在一個單獨的文件中的一些數據和變量的XPath(secondFile.java)Java-使用來自其他文件的變量

主文件:

import secondFile.help; 

public class TicketAdminTestSuite extends something { 

     void printStuff(){ 
      System.out.println(bar); 
} 

} 

================== ============================

輔助文件(名稱:help.java):

​​
+3

我覺得你的問題是有點混亂。例如。你不能在名爲secondFile.java的文件中獲得公共類的幫助。你還會將包與文件名混淆。 – Tomas 2014-11-25 12:51:29

+0

對於你所追求的,你應該使用一個枚舉,而不是一個類。 – Tudmotu 2014-11-25 12:53:10

+0

@Tomas,我現在將重命名助手文件。 – user2195411 2014-11-25 12:58:20

回答

1

Simpliest這樣做的方法是導入您的help類並訪問它:

import help; 

... 

String test = help.bar; 

...或者你可以使用static import

import static help.bar; 

... 

String test = bar; 
+1

或靜態導入,然後你可以訪問欄沒有help.bar – user2717954 2014-11-25 12:51:52

+0

@ user2717954感謝您指出了這一點。 – 2014-11-25 13:01:26

+0

謝謝@EugenyLoy,但如果我的幫助文件有100個變量,我怎麼可以使用全部100個,而沒有導入靜態Ids.variable 100次? – user2195411 2014-11-25 14:30:41

3

有你的代碼中有兩處嚴重錯誤:
- 輔助文件名必須是相同的類名
- 中進口主文件必須導入與完整的包名助手文件(我認爲這些文件是在同一個包)

// master file TicketAdminTestSuite.java 
import Help; 
public class TicketAdminTestSuite extends something { 

    void printStuff(){ 
     System.out.println(Help.bar); 
    } 
} 

// help file Help.java 
public class Help { 
    public static final String bar = "blah"; 
} 
+0

我重命名了上面的第二個文件。是的我明白。我忽略了這一點,因爲我正在嘲笑一個例子在這裏發佈。關於你的第二點,是的同一套。 – user2195411 2014-11-25 12:59:39

-1

使用一個getter甲基OD。

public class help { 
     public static final String bar = "blah";    
     public String getBar(){ 
       return this.bar; 
     }   
    } 

然後在你的代碼中使用它。

import secondFile.help; 

public class TicketAdminTestSuite extends something { 
     Help help = new Help(); 
     void printStuff(){ 
      System.out.println(help.getBar()); 
     }  
} 
1

public class名稱應與其文件名匹配。

如:

First.java

import demo.Second; 
public class First{ 
Second second=new Second(); 
     void printStuff(){ 
      System.out.println(second.getBar()); 
     } 
} 

Second.java

package demo; 
    public class Second{ 
    String bar="blah"; 
    public String getBar(){ 
       return this.bar; 
    } 
    } 
1

只要寫help.bar:

void printStuff(){ 
     System.out.println(help.bar); 

但是這個例子是一個有點混亂因爲公衆類必須與.java文件一樣被調用。 如果您在secoundfile中創建了第二堂課,則無法從第一個文件訪問它。 這將是一個更好的例子: import secondFile;

public class TicketAdminTestSuite extends something { 

    void printStuff(){ 
     System.out.println(secondFile.BAR); 
} 

} 

第二個文件是由這樣

public class secondFile { 
    public static final String BAR = "blah"; 
} 
相關問題