-1

たとえば、次のようなテスト Java コードがあるとします。

class A(){
       int a = 0;
       public A{
             a = 1;
       }
 class B(){
       A object = new A(); //Object one
       A object = new A(); //Object two

私の質問は次のとおりです。クラス A でオブジェクトの new 演算子を 2 回呼び出すとどうなりますか? 新しいオブジェクト A を作成し、古いオブジェクトを破棄しますか? それともエラーになりますか?古いオブジェクトをリセットするだけですか?

これを数回試しましたが、出力がよくわかりません。

4

3 に答える 3

1

ここで何をしようとしているのかよくわかりません。コードはコンパイルされません。以下にコメント付きのコードの実例を作成しました。

これはあなたの質問に答えていますか?

public class Main {
    //Test method to instantiate a new B
    public static void main(String[] args) {
       B b = new B();
    }
}

class A {
      int a = 0;
        public A() {
         a =1;
        }
}

class B {

    public B() {
        A a = new A();
        //Print first object reference
        System.out.println("First object reference assigned to a: " + a.toString());

        //You cannot instantiate the same field/variable twice.
        // However, you can change the object reference as below
        a = new A();

        //Print second object reference
        System.out.println("Second object reference assigned to a: " + a.toString());

        //As you can see, the object
        // reference points at the new Instance of A when creating a
        // new instance of A and assigning the reference to field a

    }

}

これを実行すると、出力は次のようになります。

First object reference assigned to a: A@750159
Second object reference assigned to a: A@1abab88
于 2013-03-02T00:15:47.617 に答える