程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java動態調用類中方法代碼

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

效果如圖:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved