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

news/2024/11/9 0:50:30/

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
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 对象。(暂未可知)

本文持续更新中。。。
`


http://www.ppmy.cn/news/93304.html

相关文章

GATK最佳实践之数据预处理SnakeMake流程

<~生~信~交~流~与~合~作~请~关~注~公~众~号生信探索> 写的数据预处理snakemake流程其实包括在每个单独的分析中比如种系遗传变异和肿瘤变异流程中&#xff0c;这里单独拿出来做演示用&#xff0c;因为数据预处理是通用的&#xff0c;在call变异之前需要处理好数据。 数据…

GPC_UICC Configuration

GPC_UICC Configuration_v2.0.pdf 1 简介 本文档规定了在 ETSI 规范 TS 102 221 [TS 102 221]、TS 102 223 [TS 102 223] 中指定的 UICC 平台上实施 GlobalPlatform 规范的配置要求&#xff0c; TS 102 225 [TS 102 225] 和 TS 102 226 [TS 102 226]。 GlobalPlatform Common …

叮咚音乐门铃芯片方案推荐 WTN6006-8S 低功耗 高性价比

​ 随着物联网技术的不断发展&#xff0c;智能家居已经成为了生活中不可或缺的一部分。作为智能家居中的重要组成部分&#xff0c;门铃同样需要进行智能化升级&#xff0c;在改善用户体验、保障家庭安全方面起到了重要作用。本文将介绍一种基于音乐芯片的叮咚门铃应用方案…

金融、医疗、教育等各场景下小程序SDK的应用

近年来&#xff0c;随着数字经济的飞速发展和移动终端的迅速普及&#xff0c;移动互联网全面覆盖&#xff0c;各类应用服务层出不穷&#xff0c;涵盖了方方面面的生活、工作和学习。 而小程序作为一种轻量级的应用形态&#xff0c;越来越受到开发者和用户的欢迎。为了满足不同行…

Git进阶·GitFlow·壹

文章目录 1 Git进阶——GitFlow工作流程1.1 master与develop分支1.1.1 master1.1.2 develop 1.2 feature分支1.3 Release分支1.4 hotfix分支1.5 GitFlow示例1.5.1 在master上新建dev分支1.5.2 基于dev创建feature分支1.5.3 feature分支上开发业务代码1.5.4 将feature合并到dev1…

【C++】unordered_map unordered_set 练习题

文章目录 unordered系列关联式容器unordered_mapunordered_map的文档介绍unordered_map的构造接口使用: unordered_multimapunorder_map&&unorder_multimap对比:unordered_setunordered_set的文档介绍unordered_set的构造接口使用 unordered_multisetOJ练习961.在长度2…

13. InnoDB引擎底层原理及Mysql 8.0 新增特性详解

MySQL性能调优 一、InnoDB引擎底层原理1. 深入理解Redolog日志底层原理1.1 innodb引擎底层事务原理1.1.1 WAL 2. redolog日志文件2.1 为什么要redolog日志文件2.2 redolog的内部结构2.3 redolog的刷盘时机2.4 Log Sequence Number2.5 innodb_flush_log_at_trx_commit 3. undolo…

【Leetcode -643.子数组最大平均值Ⅰ -645.错误的集合】

Leetcode Leetcode -643.子数组最大平均值ⅠLeetcode -645.错误的集合 Leetcode -643.子数组最大平均值Ⅰ 题目&#xff1a;给你一个由 n 个元素组成的整数数组 nums 和一个整数 k 。 请你找出平均数最大且长度为 k 的连续子数组&#xff0c;并输出该最大平均数。 任何误差小…