是否存在允许在运行时更改给定成员的访问修饰符的语言?
例如,用于根据使用对象的上下文来隐藏/显示信息。
发布于 2011-07-30 07:10:17
大多数语言都可以做到这一点,但这通常会带来性能损失。例如,您可以使用以下代码更改Java中私有构造函数的可访问性。
Constructor constructor = MyClass.class.getDeclaredConstructor(paramTypes);
constructor.setAccessible(true);
MyClass instance = (MyClass)constructor.newInstance(params);查看使用您最喜欢的语言的类对象上可用的方法,您将看到获取方法或字段的许多方法,一旦您掌握了这些方法或字段的句柄,您就可以尽情地使用它们。
https://stackoverflow.com/questions/6878868
复制相似问题