如果我用类的类型创建变量,我将用什么来初始化它的实际值?我的意思是 - int 是用数字类型的值初始化的。但就技术精度而言,当我创建新的类实例时会发生什么?
class a
{
}
class b
{
a InstanceOfA;
InstanceOfA=new (); //which what I initialize the variable?
}
希望你能明白我的意思,谢谢
您想创建一个类 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);
}
我不确定我得到了你的要求,但如果我做到
了 - 当你初始化一个类时,它的名字被分配了它的参考地址。
所以当你写
InstanceOfA = new a();
InstanceOfA
为 a 类型的对象获取内存中的地址(在堆上..)。
您可能正在追求这样的事情:
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();
}
}
类的成员变量使用其类型的默认值进行初始化。对于引用类型,这意味着它被初始化为null
.
要创建类的实例,只需使用类名:
InstanceOfA = new a();