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”,如果有人能帮助我,我会非常高兴。
答案 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
感谢您提供任何帮助!