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

我不确定我得到了你的要求,但如果我做到
了 - 当你初始化一个类时,它的名字被分配了它的参考地址。
所以当你写

InstanceOfA = new a();

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

于 2010-10-13T21:05:47.773 回答
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 回答