黑马程序员技术交流社区
标题:
继承中,父类和子类有同名静态变量的问题
[打印本页]
作者:
kongling
时间:
2013-12-4 18:10
标题:
继承中,父类和子类有同名静态变量的问题
本帖最后由 kongling 于 2013-12-5 17:53 编辑
下面的程序输出什么?为什么?
public class Test
{
public static void main(String[] args)
{
Father father=new Father();
Child child=new Child();
System.out.println(father.a);
System.out.println(child.a);
System.out.println(((Father)child).a);
}
}
class Father
{
public static String a="father";
}
class Child extends Father
{
public static String a="child";
}
复制代码
作者:
sd110572
时间:
2013-12-4 22:58
第一个和第二个打印父的和子的。
最后一个强转成父类型,所以打印父的。
静态变量调用只看调用者是什么类型,调用自己类型的静态变量。
作者:
汪洋大海
时间:
2013-12-4 23:13
同学,你这个问题提的好呀。。代码可以运行。。
我以前只知道静态可以用类名调用。。
不过我想问一下你,这样做有什么用途?
谢谢你了哟。
作者:
kongling
时间:
2013-12-5 17:52
这个问题是我前一阵笔试的时候碰到的。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2