class Fu
{
protected int num=5;
}
class Zi:Fu
{
int num=4;
}
class Program
{
static void Main(string[] args)
{
Zi z=new Zi();
z.num=5;
Concole.ReadKey();
}
} 作者: 史鹏飞 时间: 2013-4-25 11:51
清楚的知道了protected的范围,谢谢!作者: ↖落葉下♀媃媚 时间: 2013-4-25 13:24
public是公有的,任何地方都能访问到,private是私有的,只能在本类中访问,protected只能在本类和子类中访问,intemal只能在本项目中访问
Zi z= new Zi();
z.num = 5;//这里出错是因为protected只能在本类和子类中访问,这里没有访问权限
}
class Fu
{
protected int num = 5;
}
class Zi
{
protected int num = 4;//这里按你写的不会出错,应该是你的问题
}
可以将protected改为public
如下:
Zi z= new Zi();
z.num = 5;
Console.ReadKey();
}
class Fu
{
public int num = 5;
}
class Zi
{
public int num = 4;
}作者: 章超 时间: 2013-4-25 17:16
public 可以在任何地方被访问,intemal 只能在本项目中被访问,private 只能在本类中被访问,protected 只能在本类和子类中被引用,所以在父类和子类中用protected修饰同名的变量是不行的