我在我的主類中有兩個類(讓我們稱它們爲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'被標記爲問題 –