如何禁止通过反射创建Object



序言

我有一门课:

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的方式完成?

在纯Java上,安装一个SecurityManager,其中包含一个描述所需内容的策略。

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

相关内容

  • 没有找到相关文章

最新更新