在java中给出一个类对象调用静态方法 [英] call static method given a class object in java

查看:107
本文介绍了在java中给出一个类对象调用静态方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如果

class MyClass {
    public static void main(String[] str) {
        System.out.println("hello world");
    }
}

// in some other file and method
Class klass = Class.forName("MyClass");

如何调用 MyClass.main ?我在编译时没有字符串MyClass,所以我不能简单地调用 MyClass.main(String [] {})

How can I call MyClass.main? I do not have the string "MyClass" at compile time, so I cannot simply call MyClass.main(String[]{}).

推荐答案

您使用反射调用方法(或创建对象等)。下面是在 MyClass 中调用 main()方法的示例。所有你需要确保的是 MyClass 在类路径中。

You use reflection to invoke methods (or create objects etc). Below is a sample to invoke main() method in MyClass. All you need to make sure is that MyClass is in the classpath.

Class<?> cls = Class.forName("MyClass");
Method m = cls.getMethod("main", String[].class);
String[] params = null; 
m.invoke(null, (Object) params); 

这篇关于在java中给出一个类对象调用静态方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆