如果我用类的类型创建变量,我将用它初始化它的实际值是多少?我的意思是 - int初始化为该类型的值,即数字。但就技术精确性而言,当我创建新的类实例时会发生什么?
class a
{
}
class b
{
a InstanceOfA;
InstanceOfA=new (); //which what I initialize the variable?
}
希望你能得到我的观点,谢谢
答案 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();