definePackage()
方法definePackage()方法在java.lang包中可用。
definePackage()方法允许类加载器为其类定义包,并且在类加载器中定义的包名称必须唯一。
definePackage()方法是一个非静态方法,只能通过类对象访问,如果尝试使用类名称访问该方法,则会收到错误消息。
definePackage()方法在定义包时可能会引发异常。
IllegalArgumentException:当此类加载器或其任何祖先的现有包中已经存在一个包时,可能引发此异常。
语法:
protected Package definePackage( String pack_name , String s_title, String s_version, String s_vendor, String i_title, String i_vendor, String i_version, URL seal_status);
参数:
字符串pack_name –表示软件包的名称。
字符串s_title-表示标题规范。
字符串s_version –表示版本规范。
字符串s_vendor –代表供应商规范。
字符串i_title-表示标题实现。
字符串i_version –表示版本实现。
字符串i_vendor –表示供应商实现。
URL seal_status –表示密封状态(即URL不为null时被密封)。
返回值:
该方法的返回类型为Package,它返回一个新创建的包。
示例
//Java程序演示示例 //ClassLoader的package definePackage()方法的说明 public class DefinePackageOfClassLoader extends ClassLoader { public static void main(String[] args) throws ClassNotFoundException { //载入类 Class cl = Class.forName("java.lang.String"); //返回String类的包 Package pack = cl.getPackage(); //Java库中已经存在java.lang- if (pack != null) System.out.println(pack.toString() + " already exists!!!!"); else System.out.println("Ready to create a package by using definePackage()"); } } class DefinePackage extends ClassLoader { //如果包不存在,那么我们可以创建一个 //使用definePackage()方法打包 Package new_package = definePackage("includehelp.java", "Nhooo", "2.0.3", "Microsoft", null, null, null, null); }
输出结果
package java.lang already exists!!!!