C#...在实例化外部类的同时,会自动实例化内部类吗?高手>>>

using System;

class A
{
public void a()
{
Console.WriteLine("A.a()");
}
public class B
{
public void b()
{
Console.WriteLine("B.b()");
}
}
}
class s
{
static void Main()
{
A y = new A();

}
}

会自行实例化类B吗?

不会的。并且不可能用A的实例访问到B,你只能另外建立一个A.B的实例。如果你把上面的代码改成以下这样,你就可以测试出来了
class A
{
public A()
{
Console.WriteLine("A.a()");
}
public class B
{
public B()
{
Console.WriteLine("B.b()");
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-08-22
using System;

class A
{
public void a()
{
Console.WriteLine("A.a()");
Console.WriteLine(new B().GetData()); //这里自动调用B实例

}

public class B
{
public void b()
{
Console.WriteLine("B.b()");
}

public string GetData()
{
return "自动调用B类方法,返回数据";
}
}
}
class s
{
static void Main()
{
A y = new A();
y.a(); //你要调用A类的方法, 光声明对象引用没用的
}
}

要我这样写才有意义。本回答被提问者采纳
第2个回答  2009-08-22
不会
其实类的嵌套 只能 用来表示一个说明逻辑的包含关系
如:
class 动物
{
class 狗
{
}
class 猫
{
}
}
相似回答