当前位置: 首页 > 知识库问答 >
问题:

隐藏我得库中得类(aar)

林星华
2023-03-14
-myPackage.com
  -classA  (public class example : public classA {...})
  -classB  (just a class example : class classB {...}
-myPackage.com
 -myHelpPackage
  -classC (public class example: public class classC {...}
  -classD (just a class example: class classD {...}
 -classA (public class example : public classA {...})
 -classB (just a class example : class classB {...}

这样,我有两个开发人员可以调用的公共类

classA
classC

classD仅对ClassA可见。所以我不能从ClassA调用classD(函数)。主要问题:如何实现?我只想打一个classA。classC正常。对于开发人员来说,classD和classB应该是不可见的。但仅对ClassA可见。有人能帮我吗?

共有1个答案

常培
2023-03-14

这个问题已经在JakobJeremais的评论中得到了回答,但是如果有人不清楚,或者他们跳过了它,因为他们只阅读顶级的答案(可以理解)。如果您的aar中有一个package-private类,那么它仍然可以公开访问,所以我建议将类嵌套在任何调用它的地方,这样您就会很安全。

例如,我必须扩展EditText,以便只能重写一个方法,而不能重写其他方法。然后我只能从另一个类引用它,但不希望它可以从我向其中添加库的任何项目中访问。所以我把它嵌套起来,现在没事了。

public class VisibleClass extends View {
    public static HiddenClass extends EditTextCompat { 
        @Override
        public void annoyingFunction() {
            //Disable this function
        }
    }
}

但是,我应该注意到:编译器不喜欢从布局访问它,所以我想它没有真正的帮助,所以我现在不推荐它。如果你有时间修修补补,尽管去吧。

 类似资料:
  • 主要内容:Java15隐藏类的目标Java 15 引入了其他类字节码不能直接使用的隐藏类。这些隐藏类旨在供在运行时生成类并使用反射使用它们的框架使用。 隐藏类被定义为基于 Nest 的访问控制上下文的成员,它可以被卸载而与其他类无关。 该提案 JEP 371 旨在通过提供标准 API 来定义不可发现且生命周期有限的隐藏类,从而改进 JVM 上的所有语言。JDK 框架或外部框架可以动态生成类,从而可以生成隐藏类。 JVM 语言在很大

  • 问题内容: 在jar文件中隐藏某些类真的是不可能的吗? 我不想允许类的直接实例化以使其更加 灵活。该罐子只有工厂(或外墙)可见。 除了创建两个项目之外,还有什么其他方法可以解决此问题? (两个项目:第一个项目包含类(实现), 另一个项目引用第一个项目并包含工厂;稍后仅 引用第二个项目) 问题答案: 我认为如果您的公共工厂方法尝试返回“隐藏”的东西,您将遇到编译器故障或警告。 不,您不能在不重新实现

  • 我们想隐藏“有优惠券吗?添加一张…”在WooCommerce结账时,如果已添加优惠券或客户在结账页面上添加优惠券。 目前,我们在下面有此代码,当客户在购物车页面输入优惠券,然后导航到结帐页面时,此代码有效。在这种情况下,“拥有优惠券?添加一张…”消息不可见。如果购物车页面上未添加优惠券,则消息可见。 这很好用!但是,当客户在结账页面上添加优惠券时,它不起作用。 1.)我们收到消息“优惠券已添加”,

  • 问题:如果距离为空/null,我试图隐藏一个值。 我尝试了以下操作,但该值仍在显示: 和 什么是实现我所期待的正确方法。 以下是我在coldfusion中定义距离的方式: 当我做以下建议时: ng-show="e.distance===未定义" 当我执行其他建议时,例如ng hide=“e.distance”, 以下是提供商包含的内容:

  • 问题内容: 我尝试通过多种方式通过jQuery隐藏:after伪类,但没有成功,但我找到了另一种解决方案,方法是在div下添加一个包含:after内容的空div,然后将其完全隐藏,产生相同的效果。 但是我只是好奇是否有人设法找到一种隐藏:after或:before东西的方法。这是我尝试的无效的方法。 只是为了给您提供上下文,我有一个包含搜索表单等的div,并且当搜索处于活动状态时,我想在div下启

  • 问题内容: 如您所见,我有我的数据库连接文件和另一个“受保护的”文件,我的凭据在其中,并且此文件包含在.gitignore中。我导入它并到达数据。很基本。因此,我的问题是: 这是正确的方法吗? 如果没有,我该怎么办?另外:如何为帐户和连接增加额外的安全性? 假设我有一个私人收藏,没人可以看到,我该如何特别保护这个收藏?我的意思是说,用密码或两步验证。 当前代码: 问题答案: …我有我的数据库连接文