java可以让Android手机上的其他应用访问公共方法
根据一本关于基本Android编程的手册,“公共修饰符意味着任何Java类,甚至包外的类,都可以使用该方法或变量。”
我大体上理解这个概念,但我想知道它在Android平台上的表现如何。从理论上讲,如果另一个开发人员能够猜到如何正确调用,那么他们创建的应用程序是否可能访问我代码中的公共方法
你可以在下面搜索框中键入要查询的问题!
根据一本关于基本Android编程的手册,“公共修饰符意味着任何Java类,甚至包外的类,都可以使用该方法或变量。”
我大体上理解这个概念,但我想知道它在Android平台上的表现如何。从理论上讲,如果另一个开发人员能够猜到如何正确调用,那么他们创建的应用程序是否可能访问我代码中的公共方法
# 1 楼答案
public
修饰符用于普通编译单元。在这方面,没有其他应用程序可以调用您的类。然而,从理论上讲,通过编写自己的类加载器并使用反射,这应该是可能的。但是在这个级别上,public修饰符是没有意义的,因为使用Reflection
可以访问所有属性,而不管它们的修饰符是什么。对于这种方法,只有SecurityManager
会有所帮助# 2 楼答案
不,因为您的代码永远不会编译
当您从另一个包的类调用方法时,必须导入该类才能这样做。整个类及其所有依赖项必须是项目的一部分,才能成功编译代码
由于您无权访问其他开发人员的源代码,因此无法导入他的类。如果你可以导入他的类,那么你的应用程序将是他的代码作为库项目或其他东西,因此代码将与你的应用程序一起发布,使你的问题变得无关紧要