public class a1
{
    public class a2
    {
        public string ss = "sssss";
    }
}
在类a1中声明另一个类a2。原来以为这样是不行的,结果今天试了下居然编译通过。想问问高手,类中声明类有什么应用的意义?欢迎直接上代码的。(本来以为这个就是OOP的“组合”,结果细想了下貌似不是,组合只是在类中包含另外一个类的实例。然后我就晕了)

解决方案 »

  1.   

    比如:
    a1.a2 a = new class a1.a2();(1)起到作用域的限定,比如可以有多个类,里面都使用同一个名字的嵌入类。
    (2)逻辑上独立,代码封装的需要。
    (3)这个类可能只被内部使用——这种做法现在可以用匿名类代替所谓组合,就是内聚的是对象。
      

  2.   

    1.内部类可以很好的实现隐藏
      一般的非内部类,是不允许有 private 与protected权限的,但内部类可以
    2.内部类拥有外围类的所有元素的访问权限
    3.可是实现多重继承
    4.可以避免修改接口而实现同一个类中两种同名方法的调用。