读书人

关于类的实例化的疑惑望大家帮小弟我

发布时间: 2011-12-25 23:21:20 作者: rapoo

关于类的实例化的疑惑,望大家帮我解决一下~~~~~
假设有类A,类B
在类B中实例化类A,那类A中的里的变量是否也被实例化了呢?
Class A()
{
public int a;
public void f()
{
}
}
Class B()
{
A a=new A();
}
像上面的例子中,调用了A a=new A()后,那类A中的a是否也被实例化了呢?

[解决办法]
例化B后B中的私有量A也同被例化,
注意B中的a和A中的a是不一的.
B.a表示的是A的例
B.a.a表示的是B中A的例a中的成a
[解决办法]
A a=new A()之后执行了A的构造函数
public int a;由于是值类型,因此,也就被初始化了
如果是这样情况
Class A

public C c;


那么,c并没有被实例化
假设如果A的构造函数是这样
A()
{
c = new C();
}
那么,
A a = new A();之后
c,就被实例化,原因是在A的构造函数里,实例化了
[解决办法]
new 是实例化
在IL 中是这样的
先全部初始化里面的局部的成员
随后调用.ctor()成员

读书人网 >C#

热点推荐