有时我们可以从ClassA做:
import com.software.ClassB;
classbObject = new ClassB ;
ClassB.getMethodX();
我们也可以直接从ClassA制作
import com.software.ClassB;
classbObject = new ClassB ;
classbObject.getMethodX();
这两种情况之间的差异是什么(直接调用类或对象)?有推荐吗? 感谢,
答案 0 :(得分:2)
如果你的意思与我的意思相同:不,ClassB.getMethodX()
和classbObject.getMethodX()
之间没有功能差异,因为getMethodX
是静态的。由于来自非静态上下文的静态方法调用,只有您的编译器可能会向您发出警告{1}}。
答案 1 :(得分:1)
你的意思是为什么:
ClassB.getMethodX()
与此不同?
classbObject.getMethodX()
如果是这样,那么第二个就是错误的。我的意思是它仍然有效,但没有任何意义。该方法声明为static,它“属于”类。对于类,您有一个静态方法,而不管有多少个实例。因此,应该以静态方式调用每个静态方法: ClassB.getMethodX()
答案 2 :(得分:0)
没有导入的唯一方法是ClassB classbObject
是否在同一个包中。如果你问,如果你使用导入答案是,如果需要导入则使用导入,因为该类不在同一个包中。
我在你的问题中没有看到静态导入,所以不确定这与你的问题有什么关系。