Java进阶(2) - 特殊对象(Class类)

存在的意义
位于java.lang包下,和java.lang.reflect包下的类共同支持java反射功能
jvm在类加载时,在堆中为每个类生成一个Class对象,用于记录每个类的属性、方法等信息,
同时每个对象生成时都有特殊的标记位来指向堆中的Class对象。

获取的三种方式
1 、Class.forName("全路径名")
2 、类名.Class
3 、实例对象.getClass()

 常用方法列表
1、getName():返回String形式的该类的名称。
2、newInstance():根据某个Class对象产生其对应类的实例,它调用的是此类的默认构造方法(没有默认无参构造器会报错)
3、getClassLoader():返回该Class对象对应的类的类加载器。
4、getSuperClass():返回某子类所对应的直接父类所对应的Class对象
5、isArray():判定此Class对象所对应的是否是一个数组对象
6、getComponentType() :如果当前类表示一个数组,则返回表示该数组组件的 Class 对象,否则返回 null。 
7、 getConstructor(Class[]) :返回当前 Class 对象表示的类的指定的公有构造子对象。 
8、getConstructors() :返回当前 Class 对象表示的类的所有公有构造子对象数组。 
9、getDeclaredConstructor(Class[]) :返回当前 Class 对象表示的类的指定已说明的一个构造子对象。 
10、getDeclaredConstructors() :返回当前 Class 对象表示的类的所有已说明的构造子对象数组。 
11、getDeclaredField(String) :返回当前 Class 对象表示的类或接口的指定已说明的一个域对象。 
12、getDeclaredFields() :返回当前 Class 对象表示的类或接口的所有已说明的域对象数组。 
13、 getDeclaredMethod(String, Class[]) :返回当前 Class 对象表示的类或接口的指定已说明的一个方法对象。 
14、getDeclaredMethods() :返回 Class 对象表示的类或接口的所有已说明的方法数组。 
15、getField(String) :返回当前 Class 对象表示的类或接口的指定的公有成员域对象。 
16、getFields() :返回当前 Class 对象表示的类或接口的所有可访问的公有域对象数组。 
17、getInterfaces() :返回当前对象表示的类或接口实现的接口。 
18、getMethod(String, Class[]) :返回当前 Class 对象表示的类或接口的指定的公有成员方法对象。 
19、getMethods() :返回当前 Class 对象表示的类或接口的所有公有成员方法对象数组,包括已声明的和从父类继承的方法。 
20、isInstance(Object) :此方法是 Java 语言 instanceof 操作的动态等价方法。
21、isInterface() :判定指定的 Class 对象是否表示一个接口类型
22、isPrimitive() :判定指定的 Class 对象是否表示一个 Java 的基类型。
23、newInstance() :创建类的新实例

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值