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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 何仕映 于 2013-3-18 12:45 编辑

怎么用getClass()获取下面这个程序父类的类名
  1. abstract class A
  2. {
  3.         int a = 1;
  4.         public abstract void printOut();
  5. }

  6. class B extends A
  7. {
  8.         int a = 2;
  9.         public void printOut()
  10.         {
  11.                 System.out.println(a);
  12.         }
  13. }
  14. class  DuoTaiDemo
  15. {
  16.         public static void main(String[] args)
  17.         {
  18.                 A b =new B();
  19.                 System.out.println(b.getClass());
  20.         }
  21. }
复制代码

点评

如果问题未解决,请继续追问回复者,如果问题已经解决,请将分类改为“已解决”,否则将扣除技术分,谢谢  发表于 2013-3-18 12:39

评分

参与人数 1黑马币 +12 收起 理由
黄玉昆 + 12

查看全部评分

4 个回复

倒序浏览
各位大神指点一下嘛。
回复 使用道具 举报
你已经很接近了,只需要将最后一句改为 System.out.println(b.getClass().getSuperclass().getName());就可以了
getSuperclass就是获取该类的父类,获取到父类之后就可以通过getName获取父类名

评分

参与人数 1黑马币 +6 收起 理由
何仕映 + 6 赞一个!

查看全部评分

回复 使用道具 举报
肖路宽 发表于 2013-3-18 10:52
你已经很接近了,只需要将最后一句改为 System.out.println(b.getClass().getSuperclass().getName());就可 ...

谢谢,getSuperclass()这个方法在API文档里面没有啊?你在哪儿知道的啊?
回复 使用道具 举报
何仕映 发表于 2013-3-18 11:09
谢谢,getSuperclass()这个方法在API文档里面没有啊?你在哪儿知道的啊?

有的,你先考虑b.getClass()这个方法返回的是B.class,你可以理解为b.class是Class这个类的一个实例,Class这个类里面就有getSuperclass这个方法,在API搜索的时候,你可以搜class这个关键字就能找到了。如果还不明白可以查看张孝祥老师关于java加强的视频。

评分

参与人数 1黑马币 +9 收起 理由
黄玉昆 + 9

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马