读书人

关于承继一段代码

发布时间: 2012-11-05 09:35:12 作者: rapoo

关于继承一段代码

C# code
  class test    {        public static void Main(string[] args)        {            string s = "' ";            MainClass y = new MainClass();            BaseClass x = y;            x.i = 100;            Console.WriteLine("{0} ,{1}", x.i, y.i);            Console.ReadKey();        }    }    class MainClass : BaseClass    {        public int i;    }    class BaseClass    {        public int i;    }

输出结果为什么是100,0 在java里面输出结果也是一样的.求大神解释通俗点,小弟才疏学浅.

[解决办法]
MainClass 的 i

BaseClass 的 i
一点关系都没有。
[解决办法]
x是x,y是y,
[解决办法]
你这里没有override(字段也不允许override),那么你当前是什么类型,就访问的那个类型下面对应的字段,不可能会混淆的。
[解决办法]
1. string s = "' "; 有什么用?
2. 不要将字段public
3. 尽管代码不规范,但程序隐含使用的new关键字,也就是hide,并没有override,所以各是各。

读书人网 >C#

热点推荐