java中利用反射調(diào)用另一類的private方法的簡單實(shí)例
我們知道,Java應(yīng)用程序不能訪問持久化類的private方法,但Hibernate沒有這個(gè)限制,它能夠訪問各種級(jí)別的方法,如private, default, protected, public. Hibernate是如何實(shí)現(xiàn)該功能的呢?答案是利用JAVA的反射機(jī)制,如下:
import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; public class ReflectDemo { public static void main(String[] args) throws Exception { Method method = PackageClazz.class.getDeclaredMethod("privilegedMethod", new Class[]{String.class,String.class}); method.setAccessible(true); method.invoke(new PackageClazz(), "452345234","q31234132"); } } class PackageClazz { private void privilegedMethod(String invokerName,String adb) { System.out.println("---"+invokerName+"----"+adb); } }
輸出結(jié)果為:---452345234----q31234132
我們看到,利用java的反射機(jī)制,即使是private方法,也可以被調(diào)用使用.不過我到產(chǎn)生一個(gè)疑問--即然private方法都可以被調(diào)用,那么封裝又有何意義?
以上這篇java中利用反射調(diào)用另一類的private方法的簡單實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Java:"失效"的private修飾符
- Java中的private修飾符失效了?
- java9開始——接口中可以定義private私有方法
- java private關(guān)鍵字用法實(shí)例
- Java反射如何修改private final成員變量值
- Java的外部類為什么不能使用private和protected進(jìn)行修飾的講解
- Java中的private、protected、public和default的區(qū)別(詳解)
- java反射_改變private中的變量及方法的簡單實(shí)例
- 反射調(diào)用private方法實(shí)踐(php、java)
- Java private修飾符失效的原因
相關(guān)文章
關(guān)于Logback+MyBatis日志輸出問題的一些思考
這篇文章主要介紹了關(guān)于Logback+MyBatis日志輸出問題的一些思考,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,2023-09-09解析Spring中的靜態(tài)代理和動(dòng)態(tài)代理
學(xué)習(xí) Spring 的過程中,不可避免要掌握代理模式。這篇文章總結(jié)一下代理模式。顧名思義,代理,就是你委托別人幫你辦事,所以代理模式也有人稱作委托模式的。比如領(lǐng)導(dǎo)要做什么事,可以委托他的秘書去幫忙做,這時(shí)就可以把秘書看做領(lǐng)導(dǎo)的代理2021-06-06深入理解Java8新特性之Optional容器類的應(yīng)用
Optional<T> 類(java.util.Optional) 是一個(gè)容器類,代表一個(gè)值存在或不存在,原來用 null 表示一個(gè)值不存在,現(xiàn)在 Optional 可以更好的表達(dá)這個(gè)概念。并且可以避免空指針異常,需要的朋友可以參考下本文2021-11-11MyBatis?超詳細(xì)講解動(dòng)態(tài)SQL的實(shí)現(xiàn)
動(dòng)態(tài)?SQL?是?MyBatis?的強(qiáng)大特性之一。如果你使用過?JDBC?或其它類似的框架,你應(yīng)該能理解根據(jù)不同條件拼接?SQL?語句有多痛苦,例如拼接時(shí)要確保不能忘記添加必要的空格,還要注意去掉列表最后一個(gè)列名的逗號(hào)。利用動(dòng)態(tài)?SQL,可以徹底擺脫這種痛苦2022-03-03