【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130838927
出自【进步*于辰的博客】
其实我的【Java-API】专栏内的博文对大家来说意义是不大的。因为暂且没有源码讲解,而且需要看Java-API,直接看Java-API文档就行了,也不用看博文。所以呢,这篇博文主要是写给我自己看的,也就是Java-API笔记。
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。
文章目录
1、概述
Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。
Class 没有公共构造方法。Class 对象是在加载类时由 Java 虚拟机以及通过调用类加载器中的 defineClass()
方法自动构造的。
以下示例使用 Class 对象来显示对象的类名:
void printClassName(Object obj) {
System.out.println("The class of " + obj +
" is " + obj.getClass().getName());
}
还可以使用一个类字面值(JLS Section 15.8.2)来获得命名类型(或 void)的 Class 对象。例如:
System.out.println("The name of class Foo is: "+ Foo.class.getName());
从以下版本开始:
JDK1.0
另请参见:
ClassLoader.defineClass(byte[], int, int)
,序列化表格
2、方法摘要
Class_extends_U_asSubclassClassU_clazz__33">2.1 <U> Class<? extends U> asSubclass(Class<U> clazz)
强制转换该 Class 对象,以表示指定的 class 对象所表示的类的一个子类。(后续补充)
说明:
看源码。
2.2 T cast(Object obj)
将一个对象强制转换成此 Class 对象所表示的类或接口。(暂未可知)
2.3 boolean desiredAssertionStatus()
如果要在调用此方法时,将要初始化该类,则返回将分配给该类的断言状态。(暂未可知)
Class_forNameString_className_43">2.4 static Class<?> forName(String className)
返回与带有给定字符串名的类或接口相关联的 Class 对象。
Class_forNameString_name_boolean_initialize_ClassLoader_loader_45">2.5 static Class<?> forName(String name, boolean initialize, ClassLoader loader)
使用给定的类加载器,返回与带有给定字符串名的类或接口相关联的 Class 对象。(暂未可知)
本文持续更新中。。。
`