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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

  1. import java.util.Date;
  2. public  class Test extends Date{

  3.         public static void main(String[] args) {
  4.                                 new Test().test();

  5.         }
  6.        
  7.         public void test()
  8.         {
  9.                 System.out.println(
  10.                                 super.getClass().getName()
  11.                 );
  12.         }
  13. }
复制代码

评分

参与人数 2技术分 +1 黑马币 +5 收起 理由
特殊服务 + 1
张勇1993 + 5 神马都是浮云

查看全部评分

4 个回复

倒序浏览
这题我好象在一家公司的面试题里见过.
回复 使用道具 举报
我是这么想的,你test方法中,调用父类(object)的无参的构造函数,然后再调用父类的getClass中,在Object中getClass返回的是一个对象,代表Object OB=new  Object。这时super.getClass=OB,OB.getName就会返回Object中所有的名字。个人看法,有错请指出

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

回复 使用道具 举报
嗯,老师昨天讲date给举得例子,让大家想想,今天讲
回复 使用道具 举报
首先,这个类中的test方法不是构造器。
然后,super关键字不代表实际引用,并不等于一个真实存在的Date对象在调用getClass(),比如new Date().getClass().getName()肯定会返回java.util.Date,而super则不会。super.getClass()只是指调用父类中的的getClass()方法,而getClass实际上都是继承自Object类的,即使你不打super其实调用的也是父类的getClass()方法,作用就是获取运行时的实际类型,调用的主体是Test对象,当然返回的Class对象也是Test类的Class对象。想返回父类的Class对象可以用getClass().getSuperClass()。
  1. import java.util.Date;

  2. public class Test extends Date{
  3.         public static void main(String[] args) {
  4.                 new Test().test();
  5.         }

  6. public void test(){
  7.         System.out.println(super.getClass().getName());                                        //Output: Test
  8.         System.out.println(getClass().getSuperclass().getName());                //Output: java.util.Date
  9.         System.out.println(Date.class.getName());                                                //Output: java.util.Date       
  10.         System.out.println(super.getClass().getSuperclass().getName());        //Output: java.util.Date
  11.         System.out.println(new Date().getClass().getName());                        //Output: java.util.Date
  12.         }
  13. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
特殊服务 + 1

查看全部评分

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