Java教程

[Java SE]反射之Class

本文主要是介绍[Java SE]反射之Class,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1 获取 指定Class 的类名

package cn.johnnyzen.bd.gatewayservice;

import org.junit.Test;

    @Test
    public void getClassFullPath(){
        System.out.println(LogTest.class.getClass().getName()); // java.lang.Class
        System.out.println(LogTest.class.getClass().getCanonicalName()); // java.lang.Class
        System.out.println(LogTest.class.getClass().getSimpleName()); // Class
        System.out.println(LogTest.class.getClass().getTypeName()); // java.lang.Class

        // ////////////

        // getName: 存在于虚拟机中 class 的名称
        System.out.println(LogTest.class.getName()); // cn.johnnyzen.bd.gatewayservice.LogTest
        // getCanonicalName(): 取一个更见名思意的名称
        // 大部分两者是没有区别的,但是像 byte[] 这种类型就有区别了
        //   getName():打印显示为 [B
        //   getCanonicalName(): 打印显示为 byte[]
        System.out.println(LogTest.class.getCanonicalName()); // cn.johnnyzen.bd.gatewayservice.LogTest
        System.out.println(LogTest.class.getSimpleName()); // LogTest

        System.out.println(LogTest.class.getTypeName()); // cn.johnnyzen.bd.gatewayservice.LogTest
    }

X 参考/推荐文献

  • Java SE之初探反射机制 - 博客园/千千寰宇
  • java中getCanonicalName()和getName()的区别 - 简书
这篇关于[Java SE]反射之Class的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!