0

クラスの型で変数を作成した場合、初期化する実際の値は何ですか? つまり、int は数値型の値で初期化されます。しかし、技術的な精度に関して言えば、クラスの新しいインスタンスを作成するとどうなるでしょうか?

class a
{
}
class b
{
  a InstanceOfA;
    InstanceOfA=new ();  //which what I initialize the variable?
}

うまくいけば、あなたは私の主張を理解するでしょう、ありがとう

4

4 に答える 4

3

クラス a の新しいインスタンスを作成します。読みやすくするためにクラスの名前を変更した例を次に示します。

class MyClassA {
}

class MyClassB {
    MyClassA a = new MyClassA();
}

クラス a に何らかの初期化が必要な場合は、コンストラクターを実装します。

class MyClassA {
    public MyClassA() {
        // this constructor has no parameters
        Initialize();
    }

    public MyClassA(int theValue) {
         // another constructor, but this one takes a value
         Initialize(theValue);
    }
}

class MyClassB {
    MyClassA a = new MyClassA(42);
}
于 2010-10-13T21:06:01.377 に答える
0

あなたはおそらくこのようなものを求めています:

public class A
{
}

public class B
{
    public static void Main(string[] args)
    {
      // Here you're declaring a variable named "a" of type A - it's uninitialized.
      A a;
      // Here you're invoking the default constructor of A - it's now initialized.
      a = new A();
    }
}
于 2010-10-13T21:06:49.047 に答える
0

クラスのメンバー変数は、そのタイプのデフォルト値で初期化されます。参照型の場合、これはに初期化されることを意味しますnull

クラスのインスタンスを作成するには、クラス名を使用するだけです。

InstanceOfA = new a();
于 2010-10-13T21:08:42.010 に答える
0

私はあなたが求めているものを手に入れたかどうかはわかりませんが、もしそうなら
、クラスを初期化すると、その名前に参照アドレスが割り当てられます。
だからあなたが書くとき

InstanceOfA = new a();

InstanceOfAタイプ a のオブジェクトのメモリー内 (ヒープ上) のアドレスを取得します。

于 2010-10-13T21:05:47.773 に答える