我创建了一个我希望能够在任何地方使用的方法,但我不知道在整个项目中访问该方法的最佳实践是什么。我是否只是使用公共方法创建一个 .java 文件,并且可以在整个过程中提供访问权限?我是否需要在任何地方(清单中的某个地方?)声明它?
我确定有人问过这个问题,但我没有在我的谷歌搜索中返回任何有用的信息。我在谷歌上搜索 Android 还不够好!很抱歉添加到重复项,如果我是的话。
使用静态方法。至于我,如果我只想将方法存储在同一个地方,我会创建一个新类,并且所有方法都是静态的。例如。
public static int parseInt(String str)
{
try
{
return Integer.parseInt(str);
}
catch (NumberFormatException e)
{
return -1;
}
}
如果它只是做任何事情并且不需要在类中保存状态,这是最好的解决方案。
你有几个选择。最简单的是public static
方法。
public class MyClass {
public static MyReturnType myMethod(MyArgumentType input) {
// my code here
}
}
您现在可以这样称呼它:
MyClass.myMethod(arg);
这是一个静态方法的示例。
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