动态访问修饰符



是否存在允许在运行时更改给定成员的访问修饰符的语言?

例如,根据使用对象的上下文隐藏/显示信息

大多数语言都可以做到这一点,但这通常会带来性能损失。例如,您可以使用以下命令更改Java中私有构造函数的可访问性:

Constructor constructor = MyClass.class.getDeclaredConstructor(paramTypes);
constructor.setAccessible(true);
MyClass instance = (MyClass)constructor.newInstance(params);

查看您喜欢的语言中类对象上可用的方法,您将看到许多获取方法或字段的方法,一旦掌握了这些方法或字段的句柄,您就可以随心所欲地滥用它们。

相关内容

  • 没有找到相关文章

最新更新