我如何从一个 class 访问一个 int 变量到另一个? (Java)
How would I access an int variable from one class to another? (Java)
例如:
在Class一个
int killcount = 0;
在Class两个
killcount = 5;
我只想将变量从一个 class 获取到另一个 class。我该怎么做?
在尝试使用 Bukkit 之前,我建议您先获得一些 Java 经验。这并不意味着侮辱,但如果你反过来做,它会变得非常混乱。不管怎样,如果你还想知道问题的答案:
您必须为 "killcount" 变量创建 getter & setter。
class Xyz {
private int killcount;
public void setKillcount(int killcount) {
this.killcount = killcount;
}
public int getKillcount() {
return this.killcount;
}
}
当然这是一个没有检查的简化版本,但是如果你想从不同的class访问变量,你可以创建一个实例并使用方法来修改它。
public void someMethod() {
Xyz instance = new Xyz();
instance.setKillcount(instance.getKillcount() + 1);
//this would increase the current killcount by one.
}
请记住,如果您想保留您的值,则必须使用 class 的相同实例,因为创建一个新值会将它们重置为默认值。因此,您可能也想将其定义为私有变量。
考虑示例
public class Test {
public int x = 0;
}
这个变量 x 可以在另一个 class 中访问,例如
public class Test2 {
public void method() {
int y = new Test().x;
// Test.x (if the variable is declared static)
}
}
理想情况下,实例变量是私有的,getter 方法公开以访问它们
public class Test {
private int x = "test";
public int getX() {
return x;
}
public void setX(int y) {
x = y;
}
}
例如:
在Class一个
int killcount = 0;
在Class两个
killcount = 5;
我只想将变量从一个 class 获取到另一个 class。我该怎么做?
在尝试使用 Bukkit 之前,我建议您先获得一些 Java 经验。这并不意味着侮辱,但如果你反过来做,它会变得非常混乱。不管怎样,如果你还想知道问题的答案:
您必须为 "killcount" 变量创建 getter & setter。
class Xyz {
private int killcount;
public void setKillcount(int killcount) {
this.killcount = killcount;
}
public int getKillcount() {
return this.killcount;
}
}
当然这是一个没有检查的简化版本,但是如果你想从不同的class访问变量,你可以创建一个实例并使用方法来修改它。
public void someMethod() {
Xyz instance = new Xyz();
instance.setKillcount(instance.getKillcount() + 1);
//this would increase the current killcount by one.
}
请记住,如果您想保留您的值,则必须使用 class 的相同实例,因为创建一个新值会将它们重置为默认值。因此,您可能也想将其定义为私有变量。
考虑示例
public class Test {
public int x = 0;
}
这个变量 x 可以在另一个 class 中访问,例如
public class Test2 {
public void method() {
int y = new Test().x;
// Test.x (if the variable is declared static)
}
}
理想情况下,实例变量是私有的,getter 方法公开以访问它们
public class Test {
private int x = "test";
public int getX() {
return x;
}
public void setX(int y) {
x = y;
}
}