是否可能编写一个在包级别可用的方法?假设foo
是一个包:
long version = foo.getPackageVersion();
package-info.java
的文件中,位于mypackage
包中。/**
* Javadoc comments for package {@code mypackage}.
*/
@PackageVersion(getPackageVersion = "1.2.3")
package mypackage;
@Retention(RetentionPolicy.RUNTIME)
public @interface PackageVersion {
String getPackageVersion();
}
Package mypackage = Package.getPackage("mypackage");
PackageVersion version = mypackage.getAnnotation(PackageVersion.class);
System.out.println("Package version: "+version.getPackageVersion());
打印
Package version: 1.2.3
这项功能是在JSR-175中添加的。
包本身既不是对象也不是类。只有类才有方法。