前端之家收集整理的这篇文章主要介绍了
java – 在类上调用静态方法?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
说,我有一个Class对象的引用,SomeType有一个静态
方法.有没有办法
调用该
方法不实例化SomeType?最好不要逃脱强打字.
编辑:好的,我搞砸了
interface Int{
void someMethod();
}
class ImplOne implements Int{
public void someMethod() {
// do something
}
}
Class<? extends Int> getInt(){
return ImplOne.class;
}
在这种情况下,someMethod()不能是静态的.
根据定义,静态
方法是在类上
调用的,而不是在该类的实例上
调用.
所以如果你使用:
SomeClass.someStaticMethod()
你没有实例化(离开类加载和实例化SomeClass类本身,这是JVM处理的,并且超出了你的范围).
这与已经被实例化的对象上调用的常规方法相反:
SomeObject o = someObject; // had to be instantiated *somewhere*
o.someMethod();
原文链接:https://www.f2er.com/java/122438.html