关于类的实例化的疑惑,望大家帮我解决一下~~~~~

jessie_yaya 2007-01-30 10:12:49
假设有类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是否也被实例化了呢?
...全文
170 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
greatqn 2007-01-31
  • 打赏
  • 举报
回复
没错
jessie_yaya 2007-01-31
  • 打赏
  • 举报
回复
这么说,new的时候就是调用了一下构造函数?
li45214521 2007-01-31
  • 打赏
  • 举报
回复
new 是实例化
在IL 中是这样的
先全部初始化里面的局部的成员
随后调用.ctor()成员
sqfeiyu 2007-01-30
  • 打赏
  • 举报
回复
實例化B后﹐則B中的私有變量A也同時被實例化,
注意﹕B中的a和A中的a是不一樣的.
B.a表示的是A的實例
B.a.a表示的是B中A的實例a中的成員a
nicochang 2007-01-30
  • 打赏
  • 举报
回复
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的构造函数里,实例化了
jessie_yaya 2007-01-30
  • 打赏
  • 举报
回复
是像上面这位朋友说的那样吗?大家能不能确认一下?谢谢

111,120

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧