我有一个静态方法的类,它将使用Class.staticmethod从同一个类方法和其他类调用。像这样的东西,
ClassA{
public void method1(){
---
---
method2();
}
public static void method2(){
---
---
}
}
ClassB{
public void call(){
ClassA.method2(); //i have to invoke through static method.
}
}
public void main(...){
ClassA obj = new ClassA();
obj.method1();
}
代码是否遵循标准(Java约定第10.2节)?或者我应该在classA method1中调用ClassA.method2()。请不要说这是重复的,我已经查看了其他问题,他们没有谈论这种情况。
答案 0 :(得分:2)
作为the conventions状态(感谢Makoto),您应该避免使用对象引用来调用静态方法。这意味着,不执行此操作:
someObject.staticMethod();
相反,请使用类名称:
SomeClass.staticMethod();
当然,如果你从该类中调用静态方法,那么可以(并且可能更喜欢)执行此操作:
staticMethod();