java 包介绍_Java: Package 包简介

package 是java的关键字,是熟知的包概念,java封装了一个Package对象,用来专门处理包相关的问题

包的方法内容概要

1. 静态方法:获取所有的包对象和根据二进制名字查找包对象,其实现依赖ClassLoard对象

getPackage(String name);

getPackages();

2. 名字相关的一组方法: java 包有一套规范,参考规范即可

getName();

getImplementationTitle()

getImplementationVendor()

getImplementationVersion()  getSpecificationTitle()

getSpecificationVendor() getSpecificationVersion()

3. 版本比较的方法:

isCompatibleWith(String version)

4. 是否封装密封的方法:

isSealed()

isSealed(URL url)

5. 和包上的注解相关的一组方法: 继承自  java.lang.reflect.AnnotatedElement接口

A getAnnotation(Class annotationClass)

Annotation[] getAnnotations()

Annotation[] getDeclaredAnnotations()

A getDeclaredAnnotation(Class annotationClass)

A[] getAnnotationsByType(Class annotationClass)

A[] getDeclaredAnnotationsByType(Class annotationClass)

isAnnotationPresent(Class extends Annotation> annotationClass)

packagechapter.lang;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;/*** 软件包对象包含有关Java包的实现和规范的版本信息。

* 该版本信息由加载该类的ClassLoader实例检索并提供。

* 通常,它存储在与类分发的清单中*/

public classPackageDemo {public static Logger logger = LoggerFactory.getLogger(PackageDemo.class);public static voidmain(String[] args) {try{//静态方法//classLoader 类的理解********************

Package[] packages =Package.getPackages();for(Package pk : packages){

logger.info("{} ",pk.getName());

}

logger.info("共计 {} 个包",packages.length);

Package findPackage= Package.getPackage("java.io");

logger.info("查找结果 {}",findPackage.getName());

Package pka= Class.forName("java.lang.Package").getPackage();

pka= Class.forName("org.slf4j.Logger").getPackage();

logger.info(">>>>>> {} ","和名字有关的方法");//返回此包的字符串表示形式。

logger.info(" toString ={}",pka.toString());//返回此包的名称。

logger.info(" 名字 name ={}",pka.getName());//返回此包的标题。

logger.info(" 标题 getImplementationTitle ={}",pka.getImplementationTitle());//返回此包的提供者

logger.info(" 提供者 getImplementationVendor ={}",pka.getImplementationVendor());//返回此包的提供者

logger.info(" 提供版本 getImplementationVersion ={}",pka.getImplementationVersion());//返回此程序包实现的规范的标题。

logger.info(" 规范标题 getSpecificationTitle = {}", pka.getSpecificationTitle());//规范的提供者

logger.info(" 规范提供者 getSpecificationVendor = {}", pka.getSpecificationVendor());//规范版本

logger.info(" 规范版本 getSpecificationVersion = {}", pka.getSpecificationVersion());//是否封装

logger.info("是否封装密封 isSealed(URL){}",pka.isSealed());//包的版本

logger.info("包版本比较 当前版本(isCompatibleWith) {} 是否大于参数{} 版本 = {}",

pka.getImplementationVersion(),"1.10",pka.isCompatibleWith("1.7.25"));//包上允许有注解,三组方法// A getAnnotation(Class annotationClass)//返回该元素的,如果这样的注释 ,否则返回null指定类型的注释//Annotation[] getAnnotations()//返回此元素上 存在的注释。

logger.info("第一组注解形式");//Annotation[] getDeclaredAnnotations()//返回 直接存在于此元素上的注释。//A getDeclaredAnnotation(Class annotationClass)//如果这样的注释 直接存在 ,则返回指定类型的元素注释,否则返回null

logger.info("第二组注解形式");//A[] getAnnotationsByType(Class annotationClass)//返回与此元素相关 联的注释 。// A[] getDeclaredAnnotationsByType(Class annotationClass)//如果此类注释 直接存在或 间接存在,则返回该元素的注释(指定类型)。

logger.info("第三组注解形式");//查找方法//boolean isAnnotationPresent(Class extends Annotation> annotationClass)//如果此元素上 存在指定类型的注释,则返回true,否则返回false。

logger.info("查找方法 isAnnotationPresent");

}catch(ClassNotFoundException e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值