我有一个名为app的Android Studio模块。我有另一个名为库的库模块。
在图书馆里面,我有一些包,比如经理或网络。包管理器包含一个名为SPManager的类,其中包含一个静态方法storeSP()
package com.example.library.manager;
public class SPManager {
______ static void storeSP(){...}
}
是否可以只在我的库模块中访问storeSP()?如果我选择package-private(无访问修饰符),我无法从同一模块中的网络包访问它。如果我选择公共,那么也可以从其他模块访问此方法。
提前致谢!
将方法的访问修饰符更改为protected
,以便方法的范围保留在包和扩展它的类中。
public class Ex{
protected void test()
{
}
}
简单的答案是,如果使用修饰符public
标记方法,则任何其他类都可以访问它。
如果要使特定类/接口仅在该模块内可见/可访问,则可以考虑对这些类/接口应用模糊处理。混淆后,它们可能成为无意义的包名。通过这样做,您可以隐藏您的私人类。
从我的答案中查看更多: