1

私は、独自の定義内でクラスのインスタンスを作成するというトピックを調査してきました。このようなもの:

public class myClass
{
    public static myClass aObject = new myClass();
    public static myClass bObject = new myClass();
}

私はこれがどのように可能であるかをある程度理解していますが、なぜそれが役立つのかについて混乱しています。

また、私の論理では、次のようなことができるはずだと言っています。

aObject.bObject.someMethod();

aObjectはmyClassのインスタンスなので、bObjectが含まれている必要があります。クラスがどのように機能するかについての基本的な理解が不足しているように感じるので、ここで何が起こっているのか、そしてなぜ誰かがこれをやりたいのかを本当に知りたいです。

4

2 に答える 2

0
aObject.bObject.someMethod();

これは、「オブジェクト a のオブジェクト b の ... 何かを行う」と言っているようなものです。つまり、ボール(Aと呼ばれる)の中にボール(Bと呼ばれる)があり、その中にボール(Cと呼ばれる)があるようなものです。

リンクされたリストは、次のようなことを行うリストです。

class Link {

public long data;                        // data item
public Link next;                        // next link in list
// =============================================================
    public Link(long value){             // constructor
        data = value;                    // assign parameter to data's data field   
    }
}

リンクには、ヌル オブジェクトを作成するまで同じことを行う別のリンクへのポインターが含まれています。

これはあなたが求めていたものだと思います...

于 2012-08-21T02:40:09.567 に答える
0

aObject.bObject.someMethod()someMethod() が myClass の一部として定義されていれば、確実に機能します。なぜそのようなことが行われるのかについて、Java で使用されている例を示します。

色を表す Color というクラスがあるとします。コンストラクターを使用して、RGB 値の新しい色を作成できますColor(byte r, byte g, byte b)。Color クラスには、赤、緑、ピンクなど、一般的に使用される色を表す定数もあります。PINK は Color クラス内にある Color 変数であるため、Color.PINK と言うだけでピンク色にすばやくアクセスできます。そうすれば、メソッドでピンクを使用するたびに新しい色オブジェクトを作成する必要がなくなります。

于 2012-08-21T02:33:34.073 に答える