動態調用類中的方法


  • Java中調用類的方法有兩種:對於靜態方法可以直接使用類名調用,對於非靜態的方法必須使用類的對象調用。
  • 關鍵技術

  Method類提供類和接口上單獨某個方法(以及如何訪問該方法)的信息,所反映的方法可以是類方法或者是實例方法(包括抽象方法)。

    該方法聲明如下

    public Object invoke(Object obj,Object... args) throws Exception;

    參數說明

  1. obj:從中調用底層方法的對象
  2. 用於方法調用的參數

對於私有方法,要先確保accessible標記可見性

  • 設計過程
public class MethodTest {
    public static void main(String[] args) {
        System.out.println("調用Math類的靜態方法sin()");
        try {
            Method sin = Math.class.getDeclaredMethod("sin",Double.TYPE);
            Double sin1 = (Double) sin.invoke(null,Integer.valueOf(1));
            System.out.println("1的正弦值為:" + sin1);
        } catch (NoSuchMethodException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            e.printStackTrace();
        }
    }
}
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM