我在我的主类中有两个类(让我们称它们为classA和classB)。在Java中设置另一个类的变量
有没有机会在classB中设置classA变量?
类似的东西:
class classB {
int indexB;
classB() {
indexB = 0;
classA.index = indexB;
}
}
非常感谢你! 问候
我在我的主类中有两个类(让我们称它们为classA和classB)。在Java中设置另一个类的变量
有没有机会在classB中设置classA变量?
类似的东西:
class classB {
int indexB;
classB() {
indexB = 0;
classA.index = indexB;
}
}
非常感谢你! 问候
是,您可以直接分配的classA
public
变量,你在你的片段一样,或声明制定者private
variables.-
CLASSA
public setIndex(int index) {
this.index = index;
}
CLASSB
classAInstance.setIndex(indexB);
是的,但它需要是一个实例(如上面所暗示的),或者你需要声明变量static,但这不是非常像OOP的。 –
是的,这是可能的。假设类classA
的index
也包保护,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
公共二传手在classA
中,如ssantos所示(我已经展示的第二种方法,使用构造函数,在这种情况下它也能工作,它的构造函数是公开的)。
然而,直接访问其他类的成员并不是很好。请为此使用getter和setter,也请考虑java命名约定:类应以大写字母开始,因此ClassA
和ClassB
。
该索引必须是A类的静态变量。然后您可以执行此操作。
请指定语言,使用标签并在您的问题中提及它。 – geomagas
你真的是指“在你的主班”吗?我认为你的意思是在你的源文件中 - .java文件。你可能正在使用内部类,但这是一种更先进的技术。 –
@geomanagas:'java'被标记为问题 –