美文网首页
Class类getName获取类名方法详细说明

Class类getName获取类名方法详细说明

作者: 木木与呆呆 | 来源:发表于2023-08-23 17:26 被阅读0次

1.说明

在java.lang.Class类中有一个获取类名的方法:
public String getName()
其返回的是该对象表示的类或接口的名称。

返回由这个Class对象表示的实体的字符串名称,
这个实体可以是:
class, interface, array class, primitive type, void

如果这个类对象表示非数组类型的引用类型,
则返回类的全限定类名,
即Java语言规范指定的名称。

如果这个类对象表示基本类型或void,
则返回的名称是一个简写字符串,
与Java语言关键字中的基本类型或void有对应关系。

如果这个类对象表示一个数组类,
则名称的内部形式由元素类型的名称组成,
前面是一个或多个表示数组嵌套深度的“[”字符。

2.非数组类型映射关系

Element Type Encoding
boolean Z
byte B
char C
class or interface Lclassname;
double D
float F
int I
long J
short S

3.数组类型映射关系

Element Type Encoding
array boolean [Z
array byte [B
array char [C
array class or interface [Lclassname;
array double [D
array float [F
array int [I
array long [J
array short [S

类名或接口名classname是上面指定的全限定类名。

4.示例

 String.class.getName()
     returns "java.lang.String"
 byte.class.getName()
     returns "byte"
 (new Object[3]).getClass().getName()
     returns "[Ljava.lang.Object;"
 (new int[3][4][5][6][7][8][9]).getClass().getName()
     returns "[[[[[[[I"

5.扩充知识点

5.1.全限定类名

全限定类名就是类名全称,带包路径的用点隔开,例如: java.lang.String。

5.2.非限定类名

非限定类名也叫短名,就是我们平时说的类名,不带包的,例如:String。

5.3.全限定类名和非限定类名的区别

非限定类名是相对于限定类名来说的,
在Java中有很多类,
不同的类之间会存在相同的函数或者方法,
所以有时候就需要限定类名来调包。
而如果不存在相同的函数或者方法 ,
就可以使用非限定类名。

相关文章

  • 干货 | Java中获取类名的3种方法!

    获取类名的方法 Java 中获取类名的方式主要有以下三种。 getName() 返回的是虚拟机里面的class的类...

  • Java反射基础

    使用反射获取类的信息 反射获取类的信息是通过Class类获取的,常用方法: String getName() 获...

  • 技术问 - 如何获取父类的类名

    Java语言提供了获取类名的方法:getClass.getName()获取父类名的方法:this.getClass...

  • 25、反射(一)

    上面学习了Class类,反射主要是用来获取到类的属性和方法。 几点说明: 另外一种获取class的方法: 类名.c...

  • iOS-Runtime方法说明

    收 集 文 章 / 超 人文章出处 Rumtime方法说明 获取类的类名 获取类的父类 class_getSup...

  • Object ,class的转换

    通过类名可以得到class。通过类名.class 通过Class 可以得到类名。通过getName() 3.通过C...

  • 常用函数

    获取当前类名非静态方法:this.getClass().getName()静态方法:Thread.currentT...

  • get_class和get_called_class的区别

    get_class ():获取当前调用方法的类名 get_called_class():获取静态绑定后的类名 有例...

  • super 、superClass和class

    class:获取方法调用类名 superclass:获取方法调用者的父类类名 super:编译修饰符,不是指针,指...

  • class super superclass 的含义

    1. class:获取方法调用类名 2.superclass:获取方法调用者的父类类名 3. super:编译修饰...

网友评论

      本文标题:Class类getName获取类名方法详细说明

      本文链接:https://www.haomeiwen.com/subject/bjwpmdtx.html