首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

C# private修饰符的有关问题

2013-09-11 
C# private修饰符的问题,求助对于private字段和方法,以前总是以为它只能在类的内部方法中被访问,或者类的

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访问权限先


[解决办法]
在自身的类中,相当于友元。C#没有友元这个概念。
[解决办法]
这个不就是从C++开始就有的问题吗,这样调用其实就是类内部访问

热点排行