gpt4 book ai didi

java - 如何在两个不同的类文件中的方法外部使用公共(public)变量?

转载 作者:行者123 更新时间:2023-11-30 05:51:38 25 4
gpt4 key购买 nike

我有 2 个类文件。 Class_login.java 和 Class_Company.java。我有一个 xpath 存储在属性文件的不同位置。Class_login.java 中编写了一个方法来加载此属性文件。

static Properties objprop1 = new Properties();
public static FileInputStream fileInputS = null;

static void propManager() throws IOException {
fileInputS = new FileInputStream("C:\\Test-Automation\\FinanceSys\\myproj\\src\\test\\resources\\xpath.properties");
objprop1.load(fileInputS);
}

objprop1Class_login.java 中的方法外部声明。
我需要在 Class_Company.java 中再次加载此文件。如果我像 Class_login.PropertyManager(); 使用它并使用相同的 objprop1,则文件不会加载并且找不到 xpath。
因此,我创建了具有不同名称的相同方法(static void PropertyManager() {)和
public static Properties objprop = new Properties();
我知道这不是正确的方法。但除此之外还能如何做到这一点呢?在 Class_Company.java 的 main 方法中,我单独调用了这些方法,这样我就不会像之前那样得到 null xpath 错误。

public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub

Class_login LogFeature = new Login();
Class_Company CC = new CCompany();
**Class_Company.PropertyManager();**
LogFeature.OpenBrowser("CH32");
LogFeature.EnterURL("http://localhost:90/AppFin");
LogFeature.PageMaximise();
LogFeature.EnterUserName("uname");
LogFeature.EnterPassword("abcd!@");
LogFeature.ClickLoginButton();
Thread.sleep(2000);
**Class_Company.propManager();**
CC.clickNewCompany("Manage");

请告诉我正确的做法。我想在两个类文件中使用 objprop,并且仅在 Class_Company.java 中使用一次。而不是上面突出显示的两倍。

最佳答案

这是您需要的基本示例:

全局变量声明:

Class variableCollection {
public static string data;
}

您可以通过扩展类或对象引用来使用此变量。

class login extends variableCollection{


}

class login{
variableCollection objvar = new variableCollection();

objvar.data = "";

}

您可以以相同的方式在多个类中使用同一个变量。

关于java - 如何在两个不同的类文件中的方法外部使用公共(public)变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53804983/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com