【发布时间】:2015-04-22 09:49:21
【问题描述】:
我在一些项目中看到人们直接将静态方法导入 Activity 或类而不是整个类。
我的问题是,知道在同一个类中可以多次调用静态方法(为了更准确,5 次或更多次),导入静态方法是否更有效?最好通过它的类来调用它?
【问题讨论】:
-
最好通过类来调用。静态的东西会弄得一团糟。
标签: java android performance static static-methods
我在一些项目中看到人们直接将静态方法导入 Activity 或类而不是整个类。
我的问题是,知道在同一个类中可以多次调用静态方法(为了更准确,5 次或更多次),导入静态方法是否更有效?最好通过它的类来调用它?
【问题讨论】:
标签: java android performance static static-methods
您的问题(根据我的说法)似乎解决了同样的问题。
问题是:
直接调用ClassName.staticMethod()
或者这个
import static ClassName.staticMethod;
//rest of the stuff
staticMethod();
在这两种情况下,只要第一次调用类,方法就会作为单例加载。如果您导入静态方法,那么那是第一次,否则当您使用该类的方法时。
所以它不会有所作为,因为 JVM/DVM(不确定 ART)已经拥有所需的数据。
如果你的问题是关于使用什么修饰符,那么this 提倡静态。
但如前所述,直接涉及静态方法只是一团糟。 所以现在它更多的是个人选择。 阅读为:除非您有非常具体的原因,否则不要直接导入静态方法。
【讨论】:
静态导入和类导入在性能上没有区别。
但是,导入类并使用类名调用静态方法被认为是一种更好的做法,因为代码更易于阅读。使用静态导入可能会有点混淆哪些方法是类的非静态方法,哪些方法是其他类的静态方法。
【讨论】: