Java-API简析_java.lang.Package类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/130806567
出自【进步*于辰的博客】

其实我的【Java-API】专栏内的博文对大家来说意义是不大的。因为暂且没有源码讲解,而且需要看Java-API,直接看Java-API文档就行了,也不用看博文。所以呢,这篇博文主要是写给我自己看的,也就是Java-API笔记。
因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

1、概述

Java-API简析_java.lang.Package类(基于 Latest JDK)(浅析源码)_第1张图片
Package对象包含有关 Java 包的实现和规范的版本信息。通过用于加载类的 ClassLoader 实例,可以检索并获得此版本信息。通常,此信息存储在与类一起分发的清单中。

组成包的类集可以实现一个特定规范,如此一来,就可以通过规范标题、版本号和供应商字符串来标识该规范。应用程序可以询问包是否与特定版本兼容,有关详细信息,请参阅 isCompatibleWith()方法。

规范的版本号使用了一个由句点"."分隔的十进制正整数组成的语法,例如 “2.0” 或 “1.2.3.4.5.6.7”。这允许使用啊·可扩展的编号来表示主版本号次版本号缩微版本号,等等。版本规范是由下列形式的语法描述的:

SpecificationVersion: 
Digits RefinedVersionopt 

RefinedVersion: 
. Digits 
. Digits RefinedVersion 

Digits: 
Digit 
Digits 

Digit: 

Character.isDigit(char)会对其返回 true 的任何字符,如 0、1、2……

实现标题版本供应商字符串共同标识了一个实现,并且可以很方便地使用它们来支持出现问题时所涉及的包的准确报告。三个实现字符串内容都是特定于供应商的。实现版本字符串没有特定的语法,并且应该只在为了使它们等同于所需的版本标识符时对它们进行比较。

在每一个 ClassLoader 实例中,相同 java 包中的所有类都有相同的 Package 对象。静态方法允许通过名称当前类加载器已知的所有包的集合来找到包

另请参见:
ClassLoader.definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL)

2、方法摘要

2.1 A getAnnotation(Class annotationClass)

如果存在该元素的指定类型的注释,则返回这些注释,否则返回 null。(暂未可知)

2.2 Annotation[] getAnnotations()

返回此元素上存在的所有注释。(暂未可知)

2.3 Annotation[] getDeclaredAnnotations()

返回直接存在于此元素上的所有注释。(暂未可知)

2.4 String getImplementationTitle()

返回此包的标题。(暂未可知)

2.5 String getImplementationVendor()

返回提供该实现的组织供应商公司的名称。(暂未可知)

2.6 String getImplementationVersion()

返回该实现的版本。(暂未可知)

2.7 String getName()

返回此包的名称。

2.8 static Package getPackage(String name)

通过调用方的 ClassLoader 实例中的名称找到一个包。
示例:

Package p = Package.getPackage("com.neusoft.test");
sout p;// 打印:package com.neusoft.test

使用包全限定名,通过类加载器获取Package实例。

2.9 static Package[] getPackages()

获得调用方的 ClassLoader 实例当前已知的所有包。
示例:

Package[]arr = Package.getPackages();
for (Package p : arr)
    sout p;

部分打印结果:
Java-API简析_java.lang.Package类(基于 Latest JDK)(浅析源码)_第2张图片

2.10 String getSpecificationTitle()

返回此包实现的规范标题。(暂未可知)

本文持续更新中。。。

你可能感兴趣的:(Java-API,java,API解析)