声明类实例及其初始化

时间:2010-10-13 21:02:07

标签: c# class instances

如果我用类的类型创建变量,我将用它初始化它的实际值是多少?我的意思是 - int初始化为该类型的值,即数字。但就技术精确性而言,当我创建新的类实例时会发生什么?

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

希望你能得到我的观点,谢谢

4 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:0)

我不确定我得到了你所要求的东西,但是如果我这样做的话 初始化类时,会为其名称分配其引用地址 所以当你写

InstanceOfA = new a();

InstanceOfA在内存中(在堆上...)获取类型为a的对象的地址。

答案 2 :(得分: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();
    }
}

答案 3 :(得分:0)

使用类型的默认值初始化类的成员变量。对于引用类型,这意味着它已初始化为null

要创建类的实例,只需使用类名:

InstanceOfA = new a();