【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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、概述
- 2、方法摘要
- 2.1 `<U> Class<? extends U> asSubclass(Class<U> clazz) `
- 2.2 T cast(Object obj)
- 2.3 boolean desiredAssertionStatus()
- 2.4 static Class<?> forName(String className)
- 2.5 static Class<?> forName(String name, boolean initialize, ClassLoader loader)
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、方法摘要
2.1 <U> Class<? extends U> asSubclass(Class<U> clazz)
强制转换该 Class 对象,以表示指定的 class 对象所表示的类的一个子类。(后续补充)
说明:
看源码。
2.2 T cast(Object obj)
将一个对象强制转换成此 Class 对象所表示的类或接口。(暂未可知)
2.3 boolean desiredAssertionStatus()
如果要在调用此方法时,将要初始化该类,则返回将分配给该类的断言状态。(暂未可知)
2.4 static Class<?> forName(String className)
返回与带有给定字符串名的类或接口相关联的 Class 对象。
2.5 static Class<?> forName(String name, boolean initialize, ClassLoader loader)
使用给定的类加载器,返回与带有给定字符串名的类或接口相关联的 Class 对象。(暂未可知)
本文持续更新中。。。
`