メインクラスに2つのクラスがあります(classAとclassBと呼びましょう)。
classB 内で classA 変数を設定する機会はありますか?
そんな感じ:
class classB {
int indexB;
classB() {
indexB = 0;
classA.index = indexB;
}
}
どうもありがとうございます!挨拶
はい、可能です。index
クラス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);
}
}
両方のクラスが異なるパッケージにある場合は、 ssantosindex
でclassA
示されているように、パブリック セッターが必要です (コンストラクターを使用して示した 2 番目の方法は、この場合もコンストラクターがパブリックである場合に機能します)。
ただし、他のクラスのメンバーに直接アクセスするのはあまり良くありません。そのためにゲッターとセッターを使用してください。また、Java の命名規則も考慮してください。クラスは大文字で始まる必要があるためClassA
、ClassB
.
インデックスは、クラス A の静的変数でなければなりません。そうすれば、これを行うことができます。