Java动态调用类中方法代码_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();
        }
    }
}

效果如图:

时间: 2024-10-26 11:15:21

Java动态调用类中方法代码_java的相关文章

Java:DocumentBuilderFactory调用XML的方法实例_java

首先得到:得到 DOM 解析器的工厂实例      DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance(); 然后从 DOM 工厂获得 DOM 解析器  DocumentBuilder dombuilder=domfac.newDocumentBuilder();   )把要解析的 XML 文档转化为输入流,以便 DOM 解析器解析它 InputStream is= new  FileInputStream("test

java 某个类的几个对象,这些对象调用类中一个函数,是各自拥有自己的函数代码还是使用同一段代码?

问题描述 1.java 某个类的几个对象,这些对象调用类中一个函数(普通的函数),是各自拥有自己的函数代码还是使用同一段代码?2.java 继承中,子类从父类得到一些普通函数,这些函数的代码,是子类自己独自拥有一份还是和父类使用同一段函数代码.3.第一次发帖,积分什么的不会搞,貌似自己也没有积分,呵呵,大家包涵! 解决方案 引用1.java 某个类的几个对象,这些对象调用类中一个函数(普通的函数),是各自拥有自己的函数代码还是使用同一段代码?这几个对象调用的当然是同一段代码了.jvm中有一个ja

java类中方法调用问题

问题描述 java类中方法调用问题 import java.awt.*;import javax.swing.*;import java.awt.event.*; public class TestTextComponent extends JFrame { private JTextField textField = new JTextField(15); private JPasswordField passwordField = new JPasswordField(15); privat

php中动态调用函数的方法

 这篇文章主要介绍了php中动态调用函数的方法,实例分析了php动态函数的实现原理与具体实现步骤,需要的朋友可以参考下     本文实例讲述了php中动态调用函数的方法.分享给大家供大家参考.具体分析如下: php中你可以动态调用函数,分为以下步骤: 1. 定义一个函数 2. 将函数名(字符串)赋值给一个变量 3. 使用变量名代替函数名动态调用函数 详细代码如下所示: ? 1 2 3 4 5 6 7 <?php function addition ($a, $b){ echo ($a + $b)

php中动态调用函数的方法_php技巧

本文实例讲述了php中动态调用函数的方法.分享给大家供大家参考.具体分析如下: php中你可以动态调用函数,分为以下步骤: 1. 定义一个函数 2. 将函数名(字符串)赋值给一个变量 3. 使用变量名代替函数名动态调用函数 详细代码如下所示: <?php function addition ($a, $b){ echo ($a + $b), "\n"; } $result = "addition"; $result (3,6); ?> 希望本文所述对大家

java数据流DataInputstream类中的方法readBoolean()的作用是什么?

问题描述 java数据流DataInputstream类中的方法readBoolean()的作用是什么? 书上说readBoolean()的作用是读取一个布尔值,但是具体是 根据什么得到布尔值的?这个布尔值可以用于什么操作?跪求指点! 解决方案 从输入流读取,如果是0,就是false,否则就是true,bool值可以用来做逻辑判断. 解决方案二: 你写进去的时候的那个值,但需要顺序读取,写入时,第一个如果是int,那就读取时就要readInt,类似这样 解决方案三: JAVA中String类的i

java基础-java类中的代码运行顺序

问题描述 java类中的代码运行顺序 下面列子:public class A{ private List list=new ArrayList(); public static void main(string[] args){ A a=new A(); } }问 :1,该类什么时候被编译?什么时候被加载? 2,在运行该类的时候list 对象是在main函数执行过才有的么?还是说在加载的时候就已经被创建了? 3,如果其中有静态代码块,那么静态代码块在类加载的时候就被执行了么?也就是说在main函

关于java代码调用页面中javascript代码

问题描述 关于java代码调用页面中javascript代码,如何调用,这方面的参考资料,各位能否推荐下?... 解决方案 解决方案二:为什么要调用页面中的那些代码?如果你把层次分的很清楚,就不存在这些问题.解决方案三:有的时候,实现一个功能,javascript更方便,java代码只要调用一下就可以,解决方案四:importnetscape.javascript.JSObject;JSObjectwindow=null;window=JSObject.getWindow(this);windo

java.util.ArrayDeque类使用方法详解_java

本文为大家介绍了java.util.ArrayDeque类使用方法,供大家参考,具体内容如下 1. ArrayDeque有两个类属性,head和tail,两个指针. 2. ArrayDeque通过一个数组作为载体,其中的数组元素在add等方法执行时不移动,发生变化的只是head和tail指针,而且指针是循环变化,数组容量不限制. 3. offer方法和add方法都是通过其中的addLast方法实现,每添加一个元素,就把元素加到数组的尾部,此时,head指针没有变化,而tail指针加一,因为指针是