天天看点

C# 基础知识 protected 关键字

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

    public class A

    {

        protected int x = 123;

        internal protected int y = 123;

        void Test()

        {

            A a = new A();

            B b = new B();

            //a.x //ok

            //b.x //ok

            //a.y //ok

            //b.y //ok

        }

    }

    public class B : A

            //base.x ok

            //base.y ok

            //a.x = 10; erro

            //b.x = 10; //ok

            //a.y; ok

            //b.y; ok

    class Program

        static void Main(string[] args)

            //b.x = 10; erro

}

protected 保护访问。只限于本类和子类内部访问;实例不能访问。

需要注意:实例不能访问指的是其他类中。如果是在父类或者子类中的实例当然是可以访问的。