-2

私はJavaが初めてで、次の例のような変数をあるクラスから別のクラスに渡そうとしています。

このコードは静的ではないため、機能しません。

メインクラス

public class testAll
{
    public static void main(String[] args)
    {
        One one = new One();
        Two two = new Two();


    }
}

最初のクラス:

public class One
{

    public int test = 4;

    public int getTest()
    {
        return this.test;

    }


}

2 番目のクラス:

public class Two
{

    public void value()
    {
        System.out.print("Var is: " + One.getTest());

    }


}

ありがとう、

ナズ

4

4 に答える 4

1

最初にクラス One のインスタンスを作成する必要があります。これを試して

public void value()
{
    One one_object = new One();
    System.out.print("Var is: " + one_object.getTest());

}
于 2013-10-25T09:55:05.510 に答える
0

2 つの方法があります - 参照を渡すか、値を渡します。

public class One {
    private int value = 0;
    public One(final int value) {
        this.value = value;
    }
    public int getValue() { return value; }
}

public class Two {
    private One one = null;

    public Two(final int value) {
        this.one = new One(value);
    }

    public Two(final One one) {
        this.one = one;
    }

    public int getValue() { return one.getValue(); }
}

One インスタンスへの参照を渡す場合、値は One から読み取られ、One インスタンス内に保持されている値のみが変更されます。プリミティブ (int、boolean ...) を渡すと、値がコピーされ、Two インスタンスによって「所有」されます。概念を理解するために、参照と値の違いについてもう少し読んでください。アイデアさえつかめば、それは非常に簡単です。

于 2013-10-25T10:09:08.867 に答える