是否可以编写一个在包级别可用的方法?假设foo是一个包:
long version = foo.getPackageVersion();
Run Code Online (Sandbox Code Playgroud)
你可以在scala中理论上这样做,但它创建了一个类来存储这些包级别的方法和对象.
您可以创建包级别的javadoc,并为其添加注释,但不能添加字段,构造函数或方法.
在package-info.java包中调用的文件中mypackage
/**
* Javadoc comments for package {@code mypackage}.
*/
@PackageVersion(getPackageVersion = "1.2.3")
package mypackage;
Run Code Online (Sandbox Code Playgroud)
@Retention(RetentionPolicy.RUNTIME)
public @interface PackageVersion {
String getPackageVersion();
}
Run Code Online (Sandbox Code Playgroud)
Package mypackage = Package.getPackage("mypackage");
PackageVersion version = mypackage.getAnnotation(PackageVersion.class);
System.out.println("Package version: "+version.getPackageVersion());
Run Code Online (Sandbox Code Playgroud)
版画
Package version: 1.2.3
Run Code Online (Sandbox Code Playgroud)
该工具已在JSR-175中添加
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |