首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何禁止通过反射创建对象?

如何禁止通过反射创建对象?
EN

Stack Overflow用户
提问于 2015-10-29 20:20:29
回答 1查看 92关注 0票数 3

序曲

我有一堂课:

代码语言:javascript
复制
public final class Session {

    private int userId;
    private String token;

    Session(int userId, String token) {
        this.userId = userId;
        this.token = token;
    }

    public String getToken() {
        return token;
    }

    public int getUserId() {
        return userId;
    }
}

正如您所看到的,我们可以通过反射创建对象。

  • 我知道我可以禁止通过privatepackage-private修饰符访问构造函数。

目标

  • 禁止创建对象,甚至通过反射方式来保持安全性。
  • 只允许访问填充对象字段( package-private. )

也许它可以通过OOP/OOD方式完成?

EN

回答 1

Stack Overflow用户

发布于 2015-10-29 20:26:35

在普通的Java上,安装一个带有描述您所需内容的策略的SecurityManager

虽然Android有一个SecurityManager类,但文档说不要使用它,我不认为有任何方法可以做你想做的事情,尽管我也不知道这有什么意义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33423836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档