Java使用来自另一个Class的变量

时间:2015-07-19 09:28:00

标签: java class variables methods

Good Day Stackoverflow人!

我偶然发现了一个简单的问题,我自己无法找到解决方案。

我的Transform类中有两个方法,我想在另一个类中调用变量,但我无法弄清楚:

转换类方法:

public Vector3f GetPos() {       
    return m_pos;
}

public void SetPos(Vector3f pos) {
    this.m_pos = pos;
}

变量“m_pos”和“pos”是我需要在名为ProcessText的方法中使用的Vector3f的坐标,该方法属于不同的类:

Class2方法:

public void ProcessText() {       
    String file_name = "C:/Users/Server/Desktop/textText.txt";

    try {
        ProcessCoords data = new ProcessCoords(file_name);
        data.writeToFile("makeGrass:0,1,2");

        System.out.println("Coordinates Saved!");
    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}

现在不是让ProcessText方法写入文件“makeGrass:0,1,2”,而是希望它使用我的Transform Class中的方法中的“m_pos”和“pos”,所以我可以说:

data.writeToFile("makeGrass:" + m_pos + pos);

但是我不知道如何从我的变换类的两个方法中获取变量“m_pos”和“pos”,如果有人能帮助我,我会非常高兴。

3 个答案:

答案 0 :(得分:0)

行。首先要做的是:pos不是成员变量,而是名为setPos的方法中的参数

为了使用m_pos,您需要做的就是在第二个类中有一个Transform类的实例,假设它是转换然后你需要调用

transform.GetPos()

使用它。

答案 1 :(得分:0)

Transform类中的方法是getter和setter方法,它们都访问同一个变量,因此你不能同时为实例变量赋予不同的值

ublic Vector3f GetPos()
{       
    return m_pos;
}

public void SetPos(Vector3f pos)
{
    this.m_pos = pos;
}

要访问此字段,您只需创建Transform类的对象并调用setter和getter,例如。

Transform obj = new Transform();
obj.SetPOS(pos);

并访问此值

obj.GetPos();

答案 2 :(得分:0)

所以我自己发现了一些东西,偶然发现了一个不同的问题并提出了一个新的答案,它更准确地描述了我想要实现的目标。

我想要使用的是我的GetPos方法,但我不应该从我的Transform类中做到这一点 - 尽管它是可行的。我想出了一个不同的东西:原来我的Input类扩展了Transform类,我可以从那里调用GetPos()。

我现在已经解决了这个问题,所以有关此事的详细信息,请查看此处:Java using code from method doesn't work

感谢您提供任何帮助!