咨詢熱線 400-168-8684
2017-10-10 10:38:34|已瀏覽:1584119次
在Java中,調用類的方法有兩種方式:對于靜態(tài)方法可以直接使用類名調用,對于非靜態(tài)方法必須使用類的對象調用。反射機制提供了比較另類的調用方式,可以根據(jù)需要指定要調用的方法,而不必在編程時確定。調用的方法不僅限于public的,還可以是private的。編寫程序,使用反射機制調用Math類的靜態(tài)方法sin()和非靜態(tài)方法equals()。
思路如下:使用Math.class.getDeclaredMethod("sin",Double.TYPE);訪問指定的方法,其中”sin”表示要訪問的方法的名稱為sin,Double.TYPE表示入口參數(shù)的類型為double。
代碼如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
importjava.lang.reflect.Method;
publicclassDongTai {
publicstaticvoidmain(String[] args) {
try{
System.out.println("調用Math類的靜態(tài)方法sin()");
Method sin = Math.class.getDeclaredMethod("sin", Double.TYPE);
Double sin1 = (Double) sin.invoke(null,newInteger(1));
System.out.println("1的正弦值是:"+ sin1);
System.out.println("調用String類的非靜態(tài)方法equals()");
Method equals = String.class.getDeclaredMethod("equals", Object.class);
Boolean mrsoft = (Boolean) equals.invoke(newString("明日科技"),"明日科技");
System.out.println("字符串是否是明日科技:"+ mrsoft);
}catch(Exception e) {
e.printStackTrace();
}
}
}
|
更多培訓課程,學習資訊,課程開班,學校地址等學校信息,請進入【博?萍脊倬W(wǎng)】詳細咨詢!