packinfo-java的作用

时间:2023-03-09 02:35:06
packinfo-java的作用
package-info.java 包的作用
1. 为标注在包上的Annotation提供便利
2. 声明包的私有类和常量
3. 提供包的整体注释说明
代码说明:
package-info.java文件

@PackageAnotation(version="1.0")
package com.ltao.package.test class PackageInfo {
public void common() {
System.out.println("sa");
}
} class PackageInfoGeneric<T extends Throwable> {
private T obj; public void set(T obj) {
this.obj = obj;
} public void common() {
System.out.println(obj + "sa");
}
} interface packageInfoInteger {
public void test();
} class PackageConstants {
public static final String ERROE_CODE = "100001";
}

上面的package-info文件定义了类,泛型,接口,常量 。这些都是包范围可见的,这种方式可以实现了对包可访问范围类的统一整理


PackageAnotation.java 定义修饰包的注解
@Target(ElementType.PACKAGE)
@Retention(RetentionPolicy.RUNTIME)
@interface PackageAnotation
{
public String version() default "";
}
package com.lt.package.test;  

import java.io.IOException;  

/**
* 测试package-info.java文件的作用
* 1、为标注在包上Annotation提供便利;<br>
* 2、声明包的私有类和常量;<br>
* @author JoyoungZhang@gmail.com
*
*/
public class TestPackageInfo { public static void main(String[] args) {
//1
Package p = Package.getPackage("com.lt.package.test");
if(p != null && p.isAnnotationPresent(PackageAnotation.class)){
PackageAnotation nav = p.getAnnotation(PackageAnotation.class);
if(nav != null){
System.out.println("package version:" + nav.version());
}
}
}
}

输出结果: package version :1.0 (获取到注解中的version信息)

使用javadoc 生成doc文档时,package-info.java也会生成相应的文档说明,可以在这里面对类的信息进行描述。