关于承继一段代码
关于继承一段代码C# codeclass test{public static void Main(string[] args){string s MainClass
关于继承一段代码
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,所以各是各。