在C++; 我现在编写了很多java,所以我对java的强>静态< /强>方法和C++ 静态< /强>函数感到困惑。
在java中,您可以从类调用静态方法,我经常使用/看到exmaple:在C++; 我现在编写了很多java,所以我对java的强>静态< /强>方法和C++ 静态< /强>函数感到困惑。,java,c++,static-methods,Java,C++,Static Methods,在java中,您可以从类调用静态方法,我经常使用/看到exmaple: public class A{ public void static b(){ System.out.println("hello"); } } 你可以做,A.b() C++中你能做到吗?如果是这样,那么它在Java中是否比在java中那么流行? ,可以在C++中使用::/Cuff>范围操作符: A::b(); 如前所述,如果您在当前范围内拥有类a的实例a,您也可以调用a.b()。不过,在
public class A{
public void static b(){
System.out.println("hello");
}
}
你可以做,
A.b()代码> C++中你能做到吗?如果是这样,那么它在Java中是否比在java中那么流行? ,可以在C++中使用<代码>::/Cuff>范围操作符:
A::b();
如前所述,如果您在当前范围内拥有类a
的实例a
,您也可以调用a.b()
。不过,在实例上调用静态方法通常会令人困惑,因此您可能希望避免使用它。您可以使用a::B()
如果a
是a
的实例,也可以使用a.B()。然而,对于阅读代码的人来说,这只是一种困惑。所以,只要坚持<代码>::()(代码)>静态方法,以清楚地显示它的意思。见堆栈溢出不是Google in C++,你将写代码<:::();做同样的事情。@Jason在发布问题之前应该做一些努力。@Joe同意。downvotei如果您有类型为a
的实例a
,也可以使用a.b()
。