有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

我有一个大问题,我的项目有三个类。(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; 字符串testStr=cfg。GetProgramName()

问题

我是希兹利雷西姆。com/e7JVdm。巴布亚新几内亚

无效通话

我是希兹利雷西姆。com/e7JVdm。巴布亚新几内亚

删除{}


共 (2) 个答案

  1. # 1 楼答案

    您需要声明您是一个有效的veriable并对其进行初始化:

    ProgramConfig programConfig = new ProgramConfig();
    

    而不是

    ProgramConfig ProgramConfig;
    

    还可以创建实例的getter,比如:

    public String getStrVersionNumber() {
        return strVersionNumber;
    }
    

    GetProgramConfig类做如下操作:

    public String GetProgramName(){
        return programConfig.getStrVersionNumber();
    }
    
  2. # 2 楼答案

    正确初始化类。你把对象名和类名保持一致,这是完全错误的习惯。更改对象名称,如下所示:

    更新代码如下:

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