关于继承一段代码
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,所以各是各。