0
比方說,我使用的是第三方的jar A.jar
在我的項目,有一些成員(類,方法等)默認訪問(包私人)。現在,如果我創造我的項目中相同的包名,我能夠從a.jar文件的默認訪問修飾符來訪問成員(我想這與在Eclipse Java項目)。Java包,私人的訪問修飾符行爲包衝突的情況下
如果一個類沒有修飾符(默認值,也稱包私有),只在其自己的包是可見的
這不是哲學在這種特殊情況下的使用違反了(太不使用反射),因爲它不是什麼A.jar
開發商本來打算,因爲她會在她的包訪問此特定成員都只想類?
而且它的意思是,包私人是一種方便的機制,但不能用於保護數據等等?
在反射的情況下,沒有範圍修改可以「被用於保護數據」。像公共和私人這樣的修飾符是組織工具,而不是安全機制。 –
是的,我明白,無論如何反射將在SecurityManager中被禁用。但是我的問題是沒有反思,當我想確保某些東西只能在我的軟件包中訪問時。對不起,在那裏混亂。 – Sumit
http://docs.oracle.com/javase/tutorial/deployment/jar/sealman.html –