如何在jar中隐藏用户的几个文件?

时间:2011-06-23 14:34:04

标签: android access-modifiers

我有一组要封装在jar文件中的类。但是这些类中只有少数应该对用户“可见”。通过可见我的意思是,我希望这些类是公开的,其余的是私有的。但是当我对广播接收器使用默认的“protected”可见性并从另一个包发送一个intent时,它会给我一个IllegalAccessException。有关如何实现这一目标的任何提示?

1 个答案:

答案 0 :(得分:0)

class应该是私有或“隐藏”的唯一时间是内部类。如果您试图阻止其他人利用您的类资源,您可以关闭修饰符(私有,公共,受保护),这将使类包受到保护(默认情况下不存在修饰符)。

例如,这个类只能在同一个包中的类中看到:

package com.test;

class Test {

}

这个类可以在包之外访问:

package com.test;

public class Test {

}

但是,在这种情况下,另一个人可以使用包名称 com.test 并可以使用您的类。

如果您想严格控制类的使用方式,可以将它们标记为public final。这将使您的课程无法扩展。然后,您可以将构造函数设置为private,以便无法实例化该类。如果这样做,您可能希望static方法返回您正在处理的类的新对象。

如果您打算分发jar,您只需处理此问题。但是有很多选项(如上所述)可以帮助您创建有用的代码库。