java - 如何访问在属于另一个 Java 类的方法中声明的变量?

标签 java string class

我最近开始尝试使用 Java,但遇到了这个问题。我有两个 Java 文件,分别称为 Main_file.java 和 Helper.java。 Helper.java 文件包含一个名为 name 的字符串变量,我希望从 Mainfile.java 访问它并将其分配给字符串变量 x。这些文件看起来像这样。

主.java

public class Mainfile{

    Helper myhelper =new MyHelper();

    public void create_func(){
        String x =  /* assign the value name from the helper file */;
    }

Helper.java

public class Helper{

    public void add_name() {
        String name = "New_name";
    }
}

但这似乎行不通。我不太确定我尝试的方法是对还是错。有人可以帮我吗?先感谢您。

最佳答案

您在 Helper 类中创建的变量 name 不是类成员,而只是存在于方法 add_name() 中的成员

如果你想要一个类成员,你必须像这样创建它:

public class Helper{
    String name = "New_name";
}

然后你可以像这样访问它:

public class MainFile{

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.name;
    }
}

许多人会说类成员“必须”是私有(private)的,因此为类成员创建 getter 和 setter 可能会更好:

public class Helper{
    private String name = "New_name";
    public String getName() {
        return name;
    }
    public void setName(String newName) {
        name = newName;
    }
}

public class MainFile{

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.getName();
    }
}

关于java - 如何访问在属于另一个 Java 类的方法中声明的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33564093/

相关文章:

java - 如何在 Spring Boot 应用程序中排除给定运行时配置文件中的包

java - 有什么好工具可以轻松帮助我编写/维护 WSDL 文件吗?

c# - 在 .NET/C# 2.0 中合并两个字符串数组?

css - 在哪里可以找到 Bootstrap 类的 CSS 定义?

javascript - 简单的 jquery/javascript 切换 href

java - 为什么 KeyListener 仅在未按下按钮时才起作用?

c++ - 函数从字符串转换为 int 时出现运行时错误

c# - 性能 StringBuilder Insert 与 string Concat

python - 在类和函数内外工作

java - Lucene索引和Map/Reduce搜索