Java-API简析_java.lang.Class类(基于JDK1.8)(浅析源码)

news/2024/7/4 0:53:00 标签: Java-API简析, Class

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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、方法摘要

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 对象。(暂未可知)

本文持续更新中。。。
`


http://www.niftyadmin.cn/n/353703.html

相关文章

chatgpt赋能Python-python_penup

Python PenUp: 专业针对绘图需求而设计的Python包 在近几年Python语言的流行性大增&#xff0c;不仅吸引了许多新手开发者&#xff0c;也吸引了许多有经验的工程师&#xff0c;特别是针对绘图领域。Python PenUp 是一个专业针对绘图需求而设计的Python包&#xff0c;可以让工程…

天猫订单之数据分析与挖掘——数据预处理和频繁模式

天猫订单之数据分析与挖掘——数据预处理和频繁模式 文章目录 天猫订单之数据分析与挖掘——数据预处理和频繁模式0. 写在前面1. 数据预处理1.1 多余字符的处理1.2 日期属性值的处理1.3 重复值处理1.4 缺失值处理2. 频繁模式2.1 亲和性分析2.2 Apriori算法0. 写在前面 Windows:…

前端随机抽奖效果

功能描述 开始随机、标签收取、重置布局、标签收取后添加标记、删除标记、复原标记、重置布局 可以通过此功能实现随机点名、抽奖功能 效果截图 实现所用技术 vscode编写工具&#xff0c;html、css、jquery 以下为效果代码 <!DOCTYPE html> <html> <head&g…

maven笔记

maven笔记 maven解决jar冲突的办法 排除A.jar中依赖的B.jar <dependency><groupId>xxx.xxx</groupId><artifactId>jarA</artifactId><version>0.0.1</version><exclusions><exclusion><groupId>xxx.xxx</grou…

Kubernetes高可用集群二进制部署(Runtime Docker)v1.21版本

Kubernetes高可用集群二进制部署&#xff08;Runtime Docker&#xff09; Kubernetes&#xff08;简称为&#xff1a;k8s&#xff09;是Google在2014年6月开源的一个容器集群管理系统&#xff0c;使用Go语言开发&#xff0c;用于管理云平台中多个主机上的容器化的应用&#xf…

CANFDCAN协议对比 - 基础介绍_02

目录 四、CAN和CANFD区别 1、保留位 2、FDF-FD格式 五、高速传输机制 1、位速率切换 (Bit Rate Switch) 2、波特率5MBit/s 3、BRS和CRC界定符之间采用更高的波特率 六、CANFD数据场 1、经典CAN中DLC&#xff1a;9种可能的长度 2、CANFD中DLC&#xff1a;16种可能的长…

Qt·事件处理机制

思维导读 一、事件简介 QT程序是事件驱动的, 程序的每个动作都是由内部某个事件所触发。QT事件的发生和处理成为程序运行的主线&#xff0c;存在于程序整个生命周期。 常见的QT事件类型如下: 键盘事件: 按键按下和松开 鼠标事件: 鼠标移动,鼠标按键的按下和松开 拖放事件: 用鼠…

【Leetcode60天带刷】day01——704.二分查找、27.移除元素

题目&#xff1a; 704. 二分查找 Leetcode原题链接&#xff1a;力扣704.二分查找 思考历程与知识点&#xff1a; 考查二分查找能力&#xff0c;注意mid的取值。 注意&#xff1a; 右端点的大小&#xff0c;需要在数组长度上-1。也就是nums.size()-1&#xff0c;因为下标是从…