5

この質問でオブジェクトと見なされるものは何ですか? 配列と配列自体には 7 つの double があります。

次のコード フラグメントが実行された後、いくつのオブジェクトが存在するでしょうか?

double[] ann = new double[ 7 ];
double[] bob;
bob = ann;

2 7 14 1

4

5 に答える 5

7

唯一のオブジェクトnew double[ 7 ];

ダブル[]ボブ。上記の手順で作成した同じオブジェクトも参照します。

于 2012-08-27T16:09:57.857 に答える
2

オブジェクトは 1つdouble[7]です。配列にはプリミティブが含まれているため、それらはインスタンスではないため、カウントする必要はありませんannbobObject

于 2012-08-27T16:11:45.077 に答える
2

double[] ann = new double[ 7 ];

Array ObjectArray Object Reference Variable によって参照される を作成しましたann

double[] bob;
bob = ann;

上記の行では、配列オブジェクト参照変数を作成していますbob。そして、Array Objectによっても参照されるへの参照を割り当てますann

于 2012-08-27T16:11:58.647 に答える
2

オブジェクトは 1 つだけになります。で作成したものnew double[7]bobannは単にそのオブジェクトへの参照であり、7 つの double はプリミティブです。

于 2012-08-27T16:09:59.807 に答える
0

ありがとう。いくつかのコードでテストしました。

 public class TestCode {

        /**
         * @param args
         */
        public static void main(String[] args) {
            double[] ann = new double[ 7 ];
            double[] bob;
            bob = ann;
            System.out.println(bob.getClass().getSimpleName());
            System.out.println(bob[6]);

            //there are 7 double references initialized to 0.0
        //array refs point to same object
        //1 object of type double[]
    }

}
于 2012-08-27T20:26:31.237 に答える