01/10/2018, 16:27
Cách không cho reflect truy cập vào constructor, method, field trong Java
Chào mọi người!
Trong Java, lập trình viên có thể sử dụng reflect để truy cập, thực thi, hay tạo mới đối tượng kể cả phạm vi truy cập là private. Vậy có cách nào để ngăn chặn việc này lại ko???
Mong mọi người chỉ giáo…
Bài liên quan
Reflection sinh ra để làm việc đó mà Mình nghĩ không có cách nào ngăn được đâu Trừ khi bạn custom lại JDK để xóa cái Reflection đi (Nhưng hơi khó khăn đấy!)
Giới hạn thì được, chứ 100% thì không được.
Vi dụ ngăn chặn reflection tạo nhiều instance trong singleton partern
Nếu viết như trên, reflection có thể access được
Đó cũng là cách để destroy singleton.
Muốn ngăn chặn thì kiếm soát việc tạo constructor như dưới:
Cảm ơn anh. Rất bổ ích ạ