【问题标题】:How to hide a few files from the user in a jar?如何在 jar 中向用户隐藏一些文件?
【发布时间】:2011-09-21 07:10:24
【问题描述】:

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

【问题讨论】:

    标签: android access-modifiers


    【解决方案1】:

    class 唯一应该是私有或“隐藏”的情况是它是一个内部类。如果您试图阻止其他人利用您的类资源,您可以关闭修饰符(private、public、protected),这将使类包受到保护(没有修饰符时的默认值)。

    比如这个类只能被同一个包中的类看到:

    package com.test;
    
    class Test {
    
    }
    

    这个类可以在包外访问的地方:

    package com.test;
    
    public class Test {
    
    }
    

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-18
      • 2019-11-16
      • 2011-09-28
      • 2019-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多