Kiba518

Kiba518

三线城市架构师一枚。

Fork me on GitHub

Java中的Class类

Class 类是在Java语言中定义一个特定类,他用来存储类的信息,类似C#的Type类,存储类的定义包含成员变量,成员方法,还有这个类实现的接口,以及这个类的父类等等信息。

我们可以通过类的class属性来快捷的获取到他的类型,也可以通过对象的getClass()函数获取到他的类型,还可以通过Class的forName方法获取。

代码如下:

 String str= "kiba";
 str.getClass();
 Class stringClass =  String.class;
 Class userClass =  H_User.class;
 Class t= Class.forName("java.lang.Thread");

获得到类的类型后,就可以调用它的函数,来获取对应的内容。

  stringClass.getClassLoader();
  stringClass.getComponentType();

方法如下:

getClassLoader()

获取该类的类装载器。

getComponentType()

如果当前类表示一个数组,则返回表示该数组组件的Class对象,否则返回null。

getConstructor(Class[])

返回当前Class对象表示的类的指定的公有构造子对象。

getConstructors()

返回当前Class对象表示的类的所有公有构造子对象数组。

getDeclaredConstructor(Class[])

返回当前Class对象表示的类的指定已说明的一个构造子对象。

getDeclaredConstructors()

返回当前Class对象表示的类的所有已说明的构造子对象数组。

getDeclaredField(String)

返回当前Class对象表示的类或接口的指定已说明的一个域对象。

getDeclaredFields()

返回当前Class对象表示的类或接口的所有已说明的域对象数组。

getDeclaredMethod(String,Class[])

返回当前Class对象表示的类或接口的指定已说明的一个方法对象。

getDeclaredMethods()

返回Class对象表示的类或接口的所有已说明的方法数组。

getField(String)

返回当前Class对象表示的类或接口的指定的公有成员域对象。

getFields()

返回当前Class对象表示的类或接口的所有可访问的公有域对象数组。

getInterfaces()

返回当前对象表示的类或接口实现的接口。

getMethod(String,Class[])

返回当前Class对象表示的类或接口的指定的公有成员方法对象。

getMethods()

返回当前Class对象表示的类或接口的所有公有成员方法对象数组,包括已声明的和从父类继承的方法。

getModifiers()

返回该类或接口的Java语言修改器代码。

getName()

返回Class对象表示的类型(类、接口、数组或基类型)的完整路径名字符串。

getResource(String)

按指定名查找资源。

getResourceAsStream(String)

用给定名查找资源。

getSigners()

获取类标记。

getSuperclass()

如果此对象表示除Object外的任一类,那么返回此对象的父类对象。

isArray()

如果Class对象表示一个数组则返回true,否则返回false。

isAssignableFrom(Class)

判定Class对象表示的类或接口是否同参数指定的Class表示的类或接口相同,或是其父类。

isInstance(Object)

此方法是Java语言instanceof操作的动态等价方法。

isInterface()

判定指定的Class对象是否表示一个接口类型。

isPrimitive()

判定指定的Class对象是否表示一个Java的基类型。

newInstance()

创建类的新实例。

toString()

将对象转换为字符串。


PS1:java类都是继承了object这个类。

PS2:java中有个类加载器的概念,且有多个加载器。(安装java时会安装一下系统变量,不同的加载器读取不同的环境变量,来读取相对应文件夹下的jar包,然后加载类,Class类对象的getClassLoader可以获取加载器)

----------------------------------------------------------------------------------------------------

注:此文章为原创,任何形式的转载都请联系作者获得授权并注明出处!
若您觉得这篇文章还不错,请点击下方的推荐】,非常感谢!

 

 

posted @ 2021-09-06 16:05  kiba518  阅读(1405)  评论(0编辑  收藏  举报