有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java可以让Android手机上的其他应用访问公共方法

根据一本关于基本Android编程的手册,“公共修饰符意味着任何Java类,甚至包外的类,都可以使用该方法或变量。”

我大体上理解这个概念,但我想知道它在Android平台上的表现如何。从理论上讲,如果另一个开发人员能够猜到如何正确调用,那么他们创建的应用程序是否可能访问我代码中的公共方法


共 (2) 个答案

  1. # 1 楼答案

    public修饰符用于普通编译单元。在这方面,没有其他应用程序可以调用您的类。然而,从理论上讲,通过编写自己的类加载器并使用反射,这应该是可能的。但是在这个级别上,public修饰符是没有意义的,因为使用Reflection可以访问所有属性,而不管它们的修饰符是什么。对于这种方法,只有SecurityManager会有所帮助

  2. # 2 楼答案

    不,因为您的代码永远不会编译

    当您从另一个包的类调用方法时,必须导入该类才能这样做。整个类及其所有依赖项必须是项目的一部分,才能成功编译代码

    由于您无权访问其他开发人员的源代码,因此无法导入他的类。如果你可以导入他的类,那么你的应用程序将是他的代码作为库项目或其他东西,因此代码将与你的应用程序一起发布,使你的问题变得无关紧要