2014-11-25 125 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"; 
} 
相关问题