Java Class类简介说明

java-教程王 Java教程 发布时间:2021-12-08 15:35:15 阅读数:19077 1
下文笔者讲述Java中最重要的基础类Class类
 我们都直到JVM会为所有的类生成一个Class对象,Class对象中存储着类的结构,
 我们常使用Class对象进行发射的操作

Class类的原理

java类的最顶级父类为object类,
object类中有一个方法getclass():用于获取被实例化对象的类的引用
注意事项:
    1.Class对象无法通过new 创建,因为它的构造方法是私有 
    2.Class对象由Java虚拟机自动创建,通过类装载器中的defineClass方法生成
对象在Class对象中的情况分析

获取class对象的方法

方式1:使用Class类的静态方法
    Class.forName(“java.lang.String”);

方式2:使用类的.class语法
    Class c = User.class;

方式3:使用对象的getClass()方法
   User user = new User();
   Class c3 = user.getClass();
例:
package com.java265.other;
public class testClass {
	public static void main(String[] args) throws Exception {
		 String  str ="java265.com";

		 Class c1 = str.getClass();
		 Class c2 = Class.forName("java.lang.String");
		 Class c3 = String.class;

		System.out.println("c1==c2 :" + (c1 == c2));
		System.out.println("c1==c2 :" + (c1 == c3));
		}
}
-----运行以上代码,将输出以下信息----
c1==c2 :true
c1==c2 :true

Class中方法说明

forName(String classname) 该方法返回给定串名相应的Class对象
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() 将对象转换为字符串
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaCourse/202112/2021.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者