java反射系列01 getName()的实现
来源:互联网 发布:mfp126a 有网络口吗 编辑:程序博客网 时间:2024/06/11 03:26
getName代码实现
Java Class类中关于getName()的相关方法和成员变量如下
private transient String name;private native String getName0();public String getName(){ String name = this.name; if(name == null) this.name = name = getName0(); return name;
可以看到
getName()方法在此使用了小小的懒汉式单例模式,并且在内部是调用了本地方法getName0()
getName()文档介绍
以字符串的形式返回此Class对象代表的(class, interface, array class, primitive, void)。
如果此class对象表示的引用类型不是一个数组类型,则返回此class表示的binary name,如:
Object.class.getName();//output: java.lang.Object
如果此class对象带表一个primitive类型或void,则以字符串的形式返回相应的java关键字, 如:
void.class.getName()//output: voidboolean.class.getName()//output: boolean
如果此类表示的是数组
‘[‘的数量代表了数组的维度
Element Type被编码成以下格式:
如:
Object[][].class.getName();//output: [[Ljava.lang.Objectint[][].class.getName();//output: [[I
Class.forName()
另外Class.forName(clz.getName())可以获取相应数组的类实例,
如:
Class.forName("[[Ljava.lang.Object;")
阅读全文
0 0
- java反射系列01 getName()的实现
- Java的getCanonicalName和getName
- 反射机制 clazz.getName()和clazz.getSimpleName()的用法
- Java反射的实现
- java基础系列--反射与AOP实现
- Java线程之this.currentThread().getName()和this.getName上的绕弯
- 【java】多线程中Thread.currentThread().getName()和this.getName()的区别
- Java多线程中this.getName()和Thread.currentThread.getName()的区别?
- 转载和积累系列 - java的反射
- java getClass, getName
- JAVA反射的实现方式
- currentThread().getName和this.getName()的区别
- java getClass的用法,以及getClass().getName()的用法
- Java初学习-getClass(),class属性和getName() 的整理
- Java中的getName(), .class 和forName()的区别
- java getCanonicalName getSimpleName和getName的区别和用法
- Java getCanonicalName和getSimpleName getName的区别与应用
- 【java基础】Class.getName()输出结果的解释
- JSP案例_在页面制作十个hr
- 【NP问题】8.3
- 以太坊中的Gas以及其设计原理
- C++笔记@(2)
- Glide入门教程
- java反射系列01 getName()的实现
- Linux/Android系统知识之repo git知识篇
- POJ3204 Ikki's Story I
- typescript 学习 文档 手册
- asp.net大文件分块上传视频教程
- 二分查找算法递归实现&&快速排序算法实现
- 分支管理策略
- (40)异常、多态、|与||的分析结果题目
- 8.ThinkPHP 3.1.2 查询方式的一般使用1