我的主类中有两个类(我们称之为classA和classB)。
有没有机会在classB中设置classA变量?
类似的东西:
class classB {
int indexB;
classB() {
indexB = 0;
classA.index = indexB;
}
}
非常感谢你!
问候
答案 0 :(得分:1)
是,您可以像在代码段中一样直接分配public
classA
个变量,或者为private
变量声明一个setter .-
<强> CLASSA 强>
public setIndex(int index) {
this.index = index;
}
<强> CLASSB 强>
classAInstance.setIndex(indexB);
答案 1 :(得分:0)
是的,有可能。假设类index
的{{1}}也受到包保护,而classA
与classA
位于同一个包中,那么您可以执行以下操作:
classB
如果两个类都在不同的包中,那么你需要class classA {
int index;
classA() {}
// OR
classA(int index) {
this.index = index;
}
}
class classB {
int indexB;
classA classA;
classB() {
indexB = 0;
classA = new classA();
classA.index = indexB;
// OR
classA = new classA(indexB);
}
}
中index
的公共设置器,如ssantos所示(我使用构造函数显示的第二种方法将在此工作) case也是构造函数是公共的)。
然而,直接访问其他类的成员并不是很好。请使用getter和setter,也请考虑java命名约定:class应该以大写字母开头,因此classA
和ClassA
。
答案 2 :(得分:0)
索引必须是A类的静态变量。然后你可以这样做。