mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-25 02:27:10 +08:00
Merge pull request #2144 from zouzanyan/zouzanyan-patch-1
Update unsafe.md
This commit is contained in:
commit
4b1827c1fb
@ -417,7 +417,7 @@ public void objTest() throws Exception{
|
||||
}
|
||||
```
|
||||
|
||||
打印结果分别为 1、1、0,说明通过`allocateInstance`方法创建对象过程中,不会调用类的构造方法。使用这种方式创建对象时,只用到了`Class`对象,所以说如果想要跳过对象的初始化阶段或者跳过构造器的安全检查,就可以使用这种方法。在上面的例子中,如果将 A 类的构造函数改为`private`类型,将无法通过构造函数和反射创建对象,但`allocateInstance`方法仍然有效。
|
||||
打印结果分别为 1、1、0,说明通过`allocateInstance`方法创建对象过程中,不会调用类的构造方法。使用这种方式创建对象时,只用到了`Class`对象,所以说如果想要跳过对象的初始化阶段或者跳过构造器的安全检查,就可以使用这种方法。在上面的例子中,如果将 A 类的构造函数改为`private`类型,将无法通过构造函数和反射创建对象(可以通过构造函数对象setAccessible后创建对象),但`allocateInstance`方法仍然有效。
|
||||
|
||||
#### 典型应用
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user