Object中的getClass()返回的是当前运行的类

来源:互联网 发布:网络播放量多少 编辑:程序博客网 时间:2024/06/08 02:16
package com.dusixing.test;import java.util.Date;public class SuperTest extends Date {private static final long serialVersionUID = 1L;private void test(){System.out.println(super.getClass());         // class + 包名 + 类名 // 结果是:class com.dusixing.test.SuperTestSystem.out.println(super.getClass().getName());  // 包名 + 类名//结果是:com.dusixing.test.SuperTest}public static void main(String[]args){new SuperTest().test();}}


分析:

1、super.getClass()调用的是父类即Date类的方法;
2、父类的getClass方法继承自Object类,且该方法是final的,不能被修改;
3、Object中的getClass()返回的是当前运行的类,即SuperTest;
4、Class中的getName()方法针对引用类型的返回的是包名+类名,即com.dusixing.Test.SuperTest;
5、如果想要返回父类,即Date的名称,可以使用super.getClass().getSuperClass().getName(),即:java.util.Date;
6、此处super还是this,亦或直接getClass().getName(),结果都是一样的;

原创粉丝点击