获取不同类型的Class对象
来源:互联网 发布:如何从考勤机导出数据 编辑:程序博客网 时间:2024/06/04 18:44
在加载阶段,对于任意一个类,都会在堆上生成一个Class类型的对象。通过这个对象可以获取这个类的结构信息。
可以通过如下4种方式获取这个Class对象
ClassLoader.load();
String.class;
Class.forName();
str.getClass();
其中反射时最常用的是Class.forName()。
1、一个类只有一个Class类型的对象
2、基本数据类型也有
3、对于数组,相同维度的Class对象是同一个。
Java Code
package com.bjsxt.test;
public class Test {
public static void main(String[] args) {
String path = "com.bjsxt.test.User";
try {
//1、一个类只有一个Class类型的对象
Class clazz = Class.forName(path);
Class clazz2 = Class.forName(path);
System.out.println(clazz.hashCode()==clazz2.hashCode());
Class strClazz1 = String.class;
String str = new String("abc");
Class strClazz2 = str.getClass();
System.out.println(strClazz1.hashCode()==strClazz2.hashCode());
//2、基本数据类型也有
Class intClazz = int.class;
Class integerClazz=Integer.class;
System.out.println(intClazz.hashCode()==integerClazz.hashCode());
//3、对于数组,相同维度的Class对象是同一个。
int[] arr01 = new int[10];
// int[] arr02=new int[20];//跟上面是同一个Class对象
int[][] arr02 = new int[20][];
System.out.println(arr01.getClass().hashCode()==arr02.getClass().hashCode());
//注意这个地方是多态,获取的是com.bjsxt.test.SubUser
User u=new SubUser();
System.out.println(u.getClass().getName());
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
- 获取不同类型的Class对象
- 不同类型authority的获取
- Class对象的获取方法
- 获取Class对象的方式
- Class对象的获取方式
- Class对象的引用的获取
- 从对象获取class文件的绝对路径
- Java获取泛型的Class对象
- 获取Class对象的三种方式
- 获取class对象的 3种方式
- 获取Class对象的三种方式
- 黑马程序员-----------class对象的获取方法
- 获取Class对象的多种方式
- java获取class对象的方法
- 获取Class对象的三种方式
- 获取Class对象的三种方式
- Java获取泛型的Class对象
- java 反射机制 之 Class.forName() 获取class的对象
- C++11中的新特性raw介绍
- hdu-5108(Alexandra and Prime Numbers)
- PP保护5:中断与DebugPort
- 给图片添加文字
- 为何将文件名字读取到内存用链表存放,再从内存中读取信息输出到屏幕只显示一部分?
- 获取不同类型的Class对象
- 欢迎使用CSDN-markdown编辑器
- MATLAB对ply文件格式的读取和显示
- 关于字符串旋转技巧编程题
- day23 日志流分析
- 分享Swift语言视频教程
- opencv学习笔记(三十)反向投影
- CNN中feature map可视化
- The Linux Programming Interface 05 File I/O: Further Details 文件I/O的更多细节