Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问在属于另一个Java类的方法中声明的变量?_Java_String_Class - Fatal编程技术网

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

如何访问在属于另一个Java类的方法中声明的变量?,java,string,class,Java,String,Class,我最近开始尝试Java,我被这个问题困住了。我有两个名为Main_file.Java和Helper.Java的Java文件。java文件包含一个名为name的字符串变量,我希望从my Mainfile.java访问该变量并将其分配给字符串变量x。这些文件看起来像这样 Main.java public class Mainfile{ Helper myhelper =new MyHelper(); public void create_func(){ Strin

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

Main.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";
    }
}

但这似乎不起作用。我不确定我尝试的方法是对还是错。谁能帮帮我吗?先谢谢你

您不能直接访问另一个类的方法的局部变量。您可以通过使方法返回对象并通过类的对象调用方法来访问它来实现。这就是您可以:

public class Mainfile{
Helper myhelper =new Helper();

public void create_func(){

    String x =  myhelper.add_name();
} 
}

public class Helper{

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

不能直接访问另一个类的方法的局部变量。您可以通过使方法返回对象并通过类的对象调用方法来访问它来实现。这就是您可以:

public class Mainfile{
Helper myhelper =new Helper();

public void create_func(){

    String x =  myhelper.add_name();
} 
}

public class Helper{

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

在助手类中创建的变量
name
不是类成员,而是方法
add\u name()

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

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

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.name;
    }
}
然后您可以像这样访问它:

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

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.name;
    }
}
许多人会说类成员“必须”是私有的,因此为类成员创建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();
    }
}

在助手类中创建的变量
name
不是类成员,而是方法
add\u name()

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

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

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.name;
    }
}
然后您可以像这样访问它:

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

    Helper myHelper = new Helper();

    public void create_func(){
        String x =  myHelper.name;
    }
}
许多人会说类成员“必须”是私有的,因此为类成员创建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();
    }
}