日期:2014-05-17  浏览次数:20867 次

C# private修饰符的问题,求助
对于private字段和方法,以前总是以为它只能在类的内部方法中被访问,或者类的内部嵌套类可以被访问,今天我发现了一个问题,有点疑惑,以前从没注意,如下面代码
    public class Point
    {
        private int i;
        private int j;
        public Point() { }
        public Point Add(Point p)
        {
            Point rtn = new Point();
            rtn.i = this.i + p.i;//p.i?i和j不是private么,对象实例怎么可以访问?
            rtn.j = this.j + p.j;
            p.Print();//直接访问私服方法?
            return rtn;
        }
        public Point(int x, int y)
        {
            i = x;
            j = y;
        }
        private void Print()
        {

        }
        public override string ToString()
        {
            return i + "," + j;
        }
    }
C# private

------解决方案--------------------
private访问修饰符只能在该类内部使用,你所给的例子就是这种情况。如果放到别的函数内,比如main函数下,直接new print对象,是不能调用Print方法的。
------解决方案--------------------
这是在同一个类中当然可以访问了,先了解Private访问权限先