欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java动态调用类中方法代码

程序员文章站 2024-02-25 10:52:58
在java中,调用类的方法有两种方式:对于静态方法可以直接使用类名调用,对于非静态方法必须使用类的对象调用。反射机制提供了比较另类的调用方式,可以根据需要指定要调用的方法,...

在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();
        }
    }
}

效果如图:

Java动态调用类中方法代码