您的位置:首页 > 移动开发 > Objective-C

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

2017-06-21 08:18 316 查看
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.SuperTest

System.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(),结果都是一样的;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: