Java動(dòng)態(tài)調(diào)用類中方法代碼
在Java中,調(diào)用類的方法有兩種方式:對(duì)于靜態(tài)方法可以直接使用類名調(diào)用,對(duì)于非靜態(tài)方法必須使用類的對(duì)象調(diào)用。反射機(jī)制提供了比較另類的調(diào)用方式,可以根據(jù)需要指定要調(diào)用的方法,而不必在編程時(shí)確定。調(diào)用的方法不僅限于public的,還可以是private的。編寫程序,使用反射機(jī)制調(diào)用Math類的靜態(tài)方法sin()和非靜態(tài)方法equals()。
思路如下:使用Math.class.getDeclaredMethod("sin", Double.TYPE);訪問(wèn)指定的方法,其中”sin”表示要訪問(wèn)的方法的名稱為sin,Double.TYPE表示入口參數(shù)的類型為double。
代碼如下:
import java.lang.reflect.Method;
public class DongTai {
public static void main(String[] args) {
try {
System.out.println("調(diào)用Math類的靜態(tài)方法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("調(diào)用String類的非靜態(tài)方法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實(shí)現(xiàn)動(dòng)態(tài)創(chuàng)建類操作示例
- Java動(dòng)態(tài)獲取實(shí)現(xiàn)某個(gè)接口下所有的實(shí)現(xiàn)類對(duì)象集合
- Java實(shí)現(xiàn)的properties文件動(dòng)態(tài)修改并自動(dòng)保存工具類
- Java 創(chuàng)建動(dòng)態(tài)類和查看方法列表信息的實(shí)例
- java 利用java反射機(jī)制動(dòng)態(tài)加載類的簡(jiǎn)單實(shí)現(xiàn)
- 詳解Java多態(tài)對(duì)象的類型轉(zhuǎn)換與動(dòng)態(tài)綁定
- 詳解Java Spring各種依賴注入注解的區(qū)別
- Java的Spring框架中bean的繼承與內(nèi)部bean的注入
- 詳解Java的MyBatis框架與Spring框架整合中的映射器注入
- Java 動(dòng)態(tài)生成類和實(shí)例, 并注入方法操作示例
相關(guān)文章
JAVA多線程和并發(fā)基礎(chǔ)面試問(wèn)答(翻譯)
多線程和并發(fā)問(wèn)題是Java技術(shù)面試中面試官比較喜歡問(wèn)的問(wèn)題之一。在這里,從面試的角度列出了大部分重要的問(wèn)題,但是你仍然應(yīng)該牢固的掌握J(rèn)ava多線程基礎(chǔ)知識(shí)來(lái)對(duì)應(yīng)日后碰到的問(wèn)題2014-09-09
java webApp異步上傳圖片實(shí)現(xiàn)代碼
這篇文章主要為大家詳細(xì)介紹了java webApp異步上傳圖片實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11
Java躲不過(guò)設(shè)計(jì)模式的坑之代理模式詳解
設(shè)計(jì)模式看來(lái)更像是一種設(shè)計(jì)思維或設(shè)計(jì)思想,為你的項(xiàng)目工程提供方向,讓你的項(xiàng)目工程更加健壯、靈活,延續(xù)生命力。本文即將分享的是設(shè)計(jì)模式的其中一種:代理模式,感興趣的可以了解一下2022-09-09
Springboot項(xiàng)目使用Slf4j將日志保存到本地目錄的實(shí)現(xiàn)代碼
這篇文章主要介紹了Springboot項(xiàng)目使用Slf4j將日志保存到本地目錄的實(shí)現(xiàn)方法,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
SpringBoot整合Scala構(gòu)建Web服務(wù)的方法
這篇文章主要介紹了SpringBoot整合Scala構(gòu)建Web服務(wù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
使用SpringMVC訪問(wèn)Controller接口返回400BadRequest
這篇文章主要介紹了使用SpringMVC訪問(wèn)Controller接口返回400BadRequest,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03

