public abstract class Parent { public static string str = "Parent"; public static string Show() { return str; } } public abstract class Child:Parent { public new static string str = "Child"; } public class Test { string result = Child.Show(); //result="Parent" //请问如何让这里的result输出 "Child"??? }
public abstract class Parent { public static string str = "Parent"; public static string Show() { return str; } } public abstract class Child : Parent { public new static string str = "Child"; public new static string Show() { return str; } } public class Test { string result = Child.Show(); //result="Child" }
感谢回答,可问题是不想重写父类中的方法,不然就不用继承父类了
楼主为啥要用静态值实现动态的变化呢,这个值要么提取出来,要么使用属性,不知道楼主是不是有什么特殊的需求才这样做,这样明显不合理哈
呵呵!确实很不合理,主要是静态使用起来方便,便想试试利用静态字段、属性、方法能不能实现多态,现在看来是想多了~静态这玩意既不能虚拟也不能抽象,看来是不能多态的了
Mark一下