举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > java.lang.class类提供的方法 java.lang.Class 类

java.lang.class类提供的方法 java.lang.Class 类

2023-03-06 13:18 Java教程

java.lang.class类提供的方法 java.lang.Class 类

java.lang.class类提供的方法

java.lang.Class类是Java语言中最重要的类,它提供了一种可以访问和操作类和对象的机制。它是Java反射机制的核心,也是Java语言动态性的基础。

java.lang.Class类提供了一些方法来获取关于类或对象的信息,这些方法包括:

1. getName():返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)的名字。 
2. getSuperclass():返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Class。 
3. getInterfaces():返回一个包含某些 Class 对象所表示的全部接口的数组。 
4. getDeclaredFields():返回 Field 对象的一个数组,这些对象反映此 Class 对象所表示的实体中声明为公共字段。 
5. getDeclaredMethods():返回 Method 对象的一个数组,这些对象反映此 Class 对象所表征的实体中声明为公共方法。 
6. newInstance() :使用此 Class 对象表征的实体来创建一个新实例。 
7. isInstance(Object obj) :测试 obj 是否是此 Class 所表征的实体 的实例。 
8. isAssignableFrom(Class cls) :测试 cls 是否是此 Class 所表征 的实体或者是其直接或间接子 穿件。 
9. isInterface() :测试此 Class 对象是否表征一个 interface 网面。 
10. isArray() :测试此 Class 对 被是否表征一个数 组。 
11. isPrimitive() :测试此Class对 被是否表征一个原始 网面(primitive type)。   

java.lang.Class也能够用来加载外部文件并将其作为字节代码加以执行,如通过loadClass(String name)方法加地外部文件并把文件中声明好函数封装成Method对 被,然后通过invoke(Object obj, Object[] args)方法来执 被函数,即使在不修改原代 码情况下也能够加地新函数并把函数封装成Method对 被,然后通过invoke(Object obj, Object[] args)方法来执 被函数.

java.lang.Class 类

Class类的实例对象,用于记录类描述信息。

Class类没有公共的构造方法,无法通过new运算符实例化;只能通过对象的getClass方法,或是通过Class.forName(…)来获得实例。

方法 目的
static ClassforName(String className)throws ClassNotFoundException 使用参数className来指定具体的类,来获得相关的类描述对象,该方法有可能抛出类加载异常(ClassNotFoundException),必须捕捉
Class getSuperclass() 获得当前类描述对象的父类的描述对象
String getName() 返回当前类描述对象的类名称

获取Class对象的三种方式:

public class _T11 {
	// Class:类描述对象
	public static void main(String[] args) {
		Class<?> _class;
		// ***1*对象.getClass()
		String str = "";
		_class = str.getClass();
		System.out.println(_class + "-----对象名.getClass()");
		// ***2*类.class
		_class = String.class;
		System.out.println(_class + "-----类名.class");
		// ***3*Class.forName("")
		try {
			_class = Class.forName("java.lang.String");
			System.out.println(_class + "-----Class.forName(...)");
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
	}
}
class java.lang.String-----对象名.getClass()
class java.lang.String-----类名.class
class java.lang.String-----Class.forName(...) 

Class类的常用方法:

  • getName()
    一个Class对象描述了一个特定类的属性,Class类中最常用的方法getName以 String 的形式返回此 Class 对象所表示的实体(类、接口、数组类、基本类型或 void)名称。 
  • newInstance()
    Class还有一个有用的方法可以为类创建一个实例,这个方法叫做newInstance()。例如:x.getClass.newInstance(),创建了一个同x一样类型的新实例。newInstance()方法调用默认构造器(无参数构造器)初始化新建对象。
  • getClassLoader()
    返回该类的类加载器。
  • getComponentType()
    返回表示数组组件类型的 Class。
  • getSuperclass()
    返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。
  • isArray()
    判定此 Class 对象是否表示一个数组类。


阅读全文
以上是编程学为你收集整理的java.lang.class类提供的方法 java.lang.Class 类全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部