通过对象调用静态方法是否为“不良形式”?为什么?
在最近的一个问题中,有人问及静态方法,其中一个答案说你通常用类似的东西来称呼它们:
MyClassName.myStaticMethod();
对此的评论还指出,您也可以通过具有以下条件的对象来调用它:
MyClassName myVar;
myVar.myStaticMethod();
但它被认为是糟糕的形式。
现在在我看来,这样做实际上可以让我的生活更轻松,所以我不必担心什么是静态的,什么不是(a)。。
通过对象调用静态函数是否存在问题?显然,您不想创建一个全新的对象来调用它:
Integer xyzzy;
int plugh = xyzzy.parseInt ("42", 10);
但是,如果您已经有所需类型的对象,那么使用它是否存在问题?
(a)显然,我不能用以下方式调用非静态方法:
MyClassName.myNonStaticMethod();
但这不是我在这里要问的问题。