Android模块访问修饰符 - 是否可以在android工作室库模块中使方法只能访问?

问题描述 投票:5回答:2

我有一个名为app的Android Studio模块。我有另一个名为库的库模块。

在图书馆里面,我有一些包,比如经理或网络。包管理器包含一个名为SPManager的类,其中包含一个静态方法storeSP()

package com.example.library.manager;

public class SPManager {
    ______ static void storeSP(){...}
}

是否可以只在我的库模块中访问storeSP()?如果我选择package-private(无访问修饰符),我无法从同一模块中的网络包访问它。如果我选择公共,那么也可以从其他模块访问此方法。

提前致谢!

java android android-studio
2个回答
0
投票

将方法的访问修饰符更改为protected,以便方法的范围保留在包和扩展它的类中。

public class Ex{
    protected void test()
    {
    }
}

0
投票

简单的答案是,如果使用修饰符public标记方法,则任何其他类都可以访问它。

如果要使特定类/接口仅在该模块内可见/可访问,则可以考虑对这些类/接口应用模糊处理。混淆后,它们可能成为无意义的包名。通过这样做,您可以隐藏您的私人类。

从我的答案中查看更多:

© www.soinside.com 2019 - 2024. All rights reserved.