获取Class的三种方法


前言

要操作一个类的字节码,需要先获得到这个类的Class,那么怎么获得java.lang.Class呢?


一、获取Class的第一种方式

Class.forName("完整类名");

注意:

  1. 静态方法
  2. 方法的参数是一个字符串
  3. 字符串需要的是一个完成的类名
  4. 完整类名必须带有包命:java.lang…(也不能省略)

例如:

Class c1 = Class.forName("java.lang.String");
//c1代表String.class文件或c1代表String类型。

二、获取Class的第二种方式

Class c2 = 对象.getClass();

注意:
Java对象中任何一个对象都有的方法:getClass() 。

例如:

String s = "abc";
Class c2 = s.getClass();
//c2代表String.class字节码文件或c2代表String类型。
System.out.println(c1 == c2);
//true  “==” 判断的是对象的内存地址

三、获取Class的第三种方式

Class c3 = 任何类型.class;

注意:Java语言中任何一种类型包括基本数据类型,他都有“class“属性

例如:

Class c3 = String.class;
//c3代表String类型。

版权声明:本文为qq_44705164原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。