不要把继承想的太复杂了,原则很简单:private只能类自己访问,protected类和子类能访问,public谁都可以访问。还有问题吗

解决方案 »

  1.   

    这样理解 父亲有2W大洋的私房钱,他授权儿子能用,别人不能用,就用 protected 修饰这笔钱,如果外人也能用,就 public 修饰,如果只有自己能用,其他人都不行,就 private 修饰了。
      

  2.   

    而在 public static void Main(string[] args) 里去调用就等于外人问儿子要那笔钱,当然不能给他
      

  3.   

    这个例子诠释了:protected 的用途~   Child c = new Child();  当然不能调用了 protected函数。
       Parent myP=new Parent();   也不能调用自己的protected。
    这都是外部调用。在  Child 内部是可以调用 父类的protected 函数的。
      

  4.   

    乔巴说的非常有道理,lz可以测试一下这个例子    class Father
        {
            public string A;
            private string _B;        public void FatherFunction(Child child)
            {
                string s = child._B;
            }
        }    class Child : Father
        { 
            
        }这个例子充分说明了父类的所有成员都是可以被子类继承的,至于能不能用则要看使用的“场合”,在父类的范围中,什么都看得到。在子类里面就只能看到protected和public修饰的成员了
      

  5.   

    你不小心看错了把
    Child c = new Child();
                c.GetName("Tom");
                publicName = "Jerry";
                Console.WriteLine(publicName);private string privateName;//你都没有用到privateName
            public string publicName; 顶6楼
      

  6.   

    按道理那是继承的 java中也是  但是没有公开权限看不到
      

  7.   

    首先明确的说明,子类继承父类所有的属性和方法,包括私有的,只是在子类中不能被访问而已。+1,然后你就看下private,protected ,public各自能访问的是什么
      

  8.   

    受保护的方法是可以在子类中调用的,但是你上面在main方法中不能调用是因为你是在program类中调用的,
      

  9.   

        子类不能调用,有几个人非要说继承,钻牛角尖,
    你自己写代码时会这么考虑:private了还要被继承,小心写哦不能影响子类哦。
      

  10.   

    你想用受保护的方法,要
    自己重新在子类声明
    如:private void  GetName(string nameFromOut)
    {
    base.GetName(nameFromOut);
    }
      

  11.   

    按照准确的来说,在C#.NET中子类是继承父类的所有属性和方法,包括私有的(private),但是在使用时我们不考虑私有的是否被继承,除非考试的选择题中有可能出现;但是在java中就继承来说子类是不继承父类私有的(private)的属性和方法的!
      

  12.   

    好老的帖子了,今天看到一种新的解释,别人的首先我们明确一下“继承”一词的概念,在 Java 中,继承一词的意义是有限制的。一个子类只能继承其父类的可访问的成员,并且该子类没有覆盖或者说隐藏父类中的那些可访问成员。所以,一个类的成员就是指在这个类中所声明的属性和方法,再加上从其父类继承而来的属性和方法。也就是说,子类是不能继承父类的私有成员的。虽然子类不继承父类中的私有成员,但是在父类中生命的这些私有成员仍然是子类类型对象的一部分。因为在实例化对象的时候,只初始化在当前类中所声明的属性明显是不足够的,还需要初始化其父类中所有声明的属性。在实例化的过程中,JVM 需要为对象的类及其父类中所有定义的属性分配空间,包括父类中声明的私有成员。所以,我们可以说:子类不能从父类继承私有成员,但是子类的对象是包括子类所不能从父类中继承的私有成员的。
      

  13.   


    你说的太形象了,protected方法子类可以继承的,但是在主类里当然不能用了