JAVA如何从另一个类调用void方法并读取公共String方法?

时间:2014-03-04 17:46:37

标签: java

我有一个大问题,我的项目有三个班级。 (Strings,GetStrings,Main)。

我的头等档案,

public class ProgramConfig {    

 public String strVersionNumber = "1.0.0";
 public String strProgramName = "TestProgramName";

}

我的第二类文件(GetConfig),

public class GetProgramConfig {

ProgramConfig ProgramConfig;

public String GetLocalVersionNumber(){
    return ProgramConfig.strVersionNumber;
}

public String GetProgramName(){
    return ProgramConfig.strProgramName;
}

我的问题就在这里。我不能从类文件中调用任何东西。这是一个样本,

GetProgramConfig cfg; String testStr = cfg.GetProgramName();

问题

i.hizliresim.com/e7JVdm.png

无效通话,

i.hizliresim.com/e7JVdm.png

删除{}

2 个答案:

答案 0 :(得分:0)

正确初始化类。你保持Object名称与Class name相同,这是完全错误的习惯。更改对象名称如下:

更新了以下代码:

public class GetProgramConfig {

    ProgramConfig programConfig = new ProgramConfig(); // Initial it properly

    public String GetLocalVersionNumber(){
        return programConfig.strVersionNumber;
    }

    public String GetProgramName(){
        return programConfig.strProgramName;
    }

    public static void main(String[] args) {
        GetProgramConfig cfg = new GetProgramConfig(); // Initialize it properly
        String testStr = cfg.GetProgramName();

        System.out.println(testStr); //Ouput:TestProgramName
    }

}

答案 1 :(得分:0)

您需要声明有效的可验证并初始化它:

ProgramConfig programConfig = new ProgramConfig();

而不是

ProgramConfig ProgramConfig;

还可以为您的实例变量创建getter,例如:

public String getStrVersionNumber() {
    return strVersionNumber;
}

GetProgramConfig课程是这样的:

public String GetProgramName(){
    return programConfig.getStrVersionNumber();
}