0

メインクラスに2つのクラスがあります(classAとclassBと呼びましょう)。

classB 内で classA 変数を設定する機会はありますか?

そんな感じ:

class classB {
    int indexB;

    classB() {
        indexB = 0;
        classA.index = indexB;
    }
}

どうもありがとうございます!挨拶

4

3 に答える 3

0

はい、可能です。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);
    }
}

両方のクラスが異なるパッケージにある場合は、 ssantosindexclassA示されているように、パブリック セッターが必要です (コンストラクターを使用して示した 2 番目の方法は、この場合もコンストラクターがパブリックである場合に機能します)。

ただし、他のクラスのメンバーに直接アクセスするのはあまり良くありません。そのためにゲッターとセッターを使用してください。また、Java の命名規則も考慮してください。クラスは大文字で始まる必要があるためClassAClassB.

于 2013-10-13T11:14:56.487 に答える
0

インデックスは、クラス A の静的変数でなければなりません。そうすれば、これを行うことができます。

于 2013-10-13T11:18:41.023 に答える