既然Java反射能夠訪問和修改私有成員變量,那封裝成private還有什麼意義

簡單來講,private並非解決「安全」問題的。java 安全是指不讓代碼被非法看到/訪問。可是隻要人能拿到代碼,總會有辦法去查看和改變代碼。其餘答案提到反射能夠用SecurityManager來防止private被訪問。可是從更高一層的角度,即使使用了SecurityManager,仍是能夠經過各類方式拿到java的bytecode,並作任意修改。好比有asm這樣的lib,也有instrumen
相關文章
相關標籤/搜索