A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 kongling 于 2013-12-5 17:53 编辑

下面的程序输出什么?为什么?
  1. public class Test
  2. {

  3.         public static void main(String[] args)
  4.         {
  5.                 Father father=new Father();
  6.                 Child child=new Child();
  7.                
  8.                 System.out.println(father.a);
  9.                 System.out.println(child.a);
  10.                 System.out.println(((Father)child).a);

  11.         }

  12. }
  13. class Father
  14. {
  15.         public static String a="father";
  16. }
  17. class Child extends Father
  18. {
  19.         public static String a="child";
  20. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
滔哥 + 1

查看全部评分

3 个回复

倒序浏览
第一个和第二个打印父的和子的。
最后一个强转成父类型,所以打印父的。
静态变量调用只看调用者是什么类型,调用自己类型的静态变量。
回复 使用道具 举报
同学,你这个问题提的好呀。。代码可以运行。。
我以前只知道静态可以用类名调用。。
不过我想问一下你,这样做有什么用途?
谢谢你了哟。
回复 使用道具 举报
这个问题是我前一阵笔试的时候碰到的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马