当前位置: 移动技术网 > IT编程>开发语言>Java > Java动态调用类中方法代码

Java动态调用类中方法代码

2019年07月22日  | 移动技术网IT编程  | 我要评论

在java中,调用类的方法有两种方式:对于静态方法可以直接使用类名调用,对于非静态方法必须使用类的对象调用。反射机制提供了比较另类的调用方式,可以根据需要指定要调用的方法,而不必在编程时确定。调用的方法不仅限于public的,还可以是private的。编写程序,使用反射机制调用math类的静态方法sin()和非静态方法equals()。

思路如下:使用math.class.getdeclaredmethod("sin", double.type);访问指定的方法,其中”sin”表示要访问的方法的名称为sin,double.type表示入口参数的类型为double。

代码如下:

复制代码 代码如下:

import java.lang.reflect.method;

public class dongtai {
    public static void main(string[] args) {
        try {
            system.out.println("调用math类的静态方法sin()");
            method sin = math.class.getdeclaredmethod("sin", double.type);
            double sin1 = (double) sin.invoke(null, new integer(1));
            system.out.println("1的正弦值是:" + sin1);
            system.out.println("调用string类的非静态方法equals()");
            method equals = string.class.getdeclaredmethod("equals", object.class);
            boolean mrsoft = (boolean) equals.invoke(new string("明日科技"), "明日科技");
            system.out.println("字符串是否是明日科技:" + mrsoft);
        } catch (exception e) {
            e.printstacktrace();
        }
    }
}

效果如图:

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网