加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在类上调用静态方法?

发布时间:2020-12-14 05:28:37 所属栏目:Java 来源:网络整理
导读:说,我有一个Class对象的引用,SomeType有一个静态方法.有没有办法调用该方法不实例化SomeType?最好不要逃脱强打字. 编辑:好的,我搞砸了 interface Int{ void someMethod();}class ImplOne implements Int{ public void someMethod() { // do something }}Cl
说,我有一个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();

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读