Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104525
  • 博文数量: 41
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 352
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-23 12:37
文章分类

全部博文(41)

文章存档

2015年(1)

2014年(28)

2013年(12)

我的朋友

分类: Java

2014-08-30 15:43:39


点击(此处)折叠或打开

  1. package com.wp;


  2. //import java.io.*;
  3. import java.util.Date;

  4. public class TestMap extends Date{

  5.     //public class Test extends Date{
  6.     public static void main(String[] args) {
  7.      new TestMap().test();
  8.     }
  9.     public void test(){
  10.      System.out.println(super.getClass().getName());
  11.      System.out.println(getClass().getSuperclass().getName());
  12.      // getClass().
  13.      }
  14.     }
打印的输入如下:
   com.wp.TestMap
    java.util.Date

  这个是为什么呢?
  
   由于getClass()在Object类中定义成了final,子类不能覆盖该方法,所以,在
test方法中调用getClass().getName()方法,其实就是在调用从父类继承的getClass()方法,
等效于调用super.getClass().getName()方法,所以,super.getClass().getName()方法返回
的也应该是Te s t。如果想得到父类的名称,应该用如下代码:
   getClass().getSuperClass().getName();


阅读(467) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~