但是不能访问MyClass的数据成员
什么叫数据成员?可以访问MyClass的实例的私有字段、属性和方法。你试下就知道了。

解决方案 »

  1.   

    x 和 y 是实例成员,需要 new 一个 MyClass 再访问.
      

  2.   

    x,y是实例字段,不是静态字段。
    所以,你可以用如下代码:
    public class B
            {
                public void fun()
                {
                    MyClass.sf();
                    C c = new C();
                    c.f();
                    
                    //可以访问到MyClass的私有类型以及静态方法,但是不能访问MyClass的数据成员
                    MyClass mc = new MyClass();
                    mc.x = 1;
                    mc.y = 2;
                }
            }先实例化一个实例,然后再访问。
      

  3.   

    谢谢大家,大家已经解答了我的疑问了,在fun中可见的是MyClass类型和C类型,以及他们的静态字段。数据成员是C++里的说法,类似C#的字段,我刚接触C#所以一时没改过来。书中的意思应该就是只有这些类型是可见的,B,C,MyClass在不同的作用域中,所以要new后才能使用。