1

我创建了一个我希望能够在任何地方使用的方法,但我不知道在整个项目中访问该方法的最佳实践是什么。我是否只是使用公共方法创建一个 .java 文件,并且可以在整个过程中提供访问权限?我是否需要在任何地方(清单中的某个地方?)声明它?

我确定有人问过这个问题,但我没有在我的谷歌搜索中返回任何有用的信息。我在谷歌上搜索 Android 还不够好!很抱歉添加到重复项,如果我是的话。

4

3 回答 3

1

使用静态方法。至于我,如果我只想将方法存储在同一个地方,我会创建一个新类,并且所有方法都是静态的。例如。

public static int parseInt(String str)
{
    try
    {
        return Integer.parseInt(str);
    }
    catch (NumberFormatException e)
    {
        return -1;
    }
}

如果它只是做任何事情并且不需要在类中保存状态,这是最好的解决方案。

于 2013-01-07T17:02:02.503 回答
1

你有几个选择。最简单的是public static方法。

public class MyClass {
  public static MyReturnType myMethod(MyArgumentType input) {
    // my code here
  }
}

您现在可以这样称呼它:

MyClass.myMethod(arg);
于 2013-01-07T17:03:46.263 回答
1

这是一个静态方法的示例。

public class Messages {
    public static String mySpecialFinalMessage(){
        return "Hello Stackoverflow";
    }
}

您不再需要创建Messages要调用的实例,mySpecialFinalMessage()因为它是静态的。调用静态方法的最佳做法是采用这种格式CLASSNAME.STATICMETHODNAME();

所以在我们的例子中,

Messages.mySpecialFinalMessage()

请注意,您在非静态方法中调用静态方法是合法的,但是,在静态方法中调用非静态方法会给您带来编译时错误。

这是合法的

public class MyMessage {

    public String getMessage(){
        return Messages.mySpecialFinalMessage();
    }
}

请注意 Messages.mySpecialFinalMessage() 是该静态方法。另外,请注意,我们没有创建 Messages 实例来调用 mySpecialFinalMessage(),而是直接调用它CLASSNAME.STATICMETHODNAME

于 2013-01-07T17:19:08.073 回答