在Java中,每个类都隐式扩展了Object类.那么,这是否意味着我们可以创建Object类的对象?
public static void main(String[] args) {
Object ob=new Object();
// code here ....
}
Run Code Online (Sandbox Code Playgroud)
当我尝试它时,它编译并成功运行.在这种情况下,有人可以解释我们何时通常创建Object类的对象?
Object如果要进行同步锁定,可以实例化一个实例.
public void SomeClass {
private Object lock = new Object();
private SomeState state;
public void mutateSomeSharedState() {
synchronized(lock) {
//mutate some state
}
}
public SomeState readState() {
synchronized(lock) {
//access state
}
}
}
Run Code Online (Sandbox Code Playgroud)
当this已经用于锁定同一对象的某些其他状态时,或者如果您希望将锁定为私有(即,没有其他人可以使用它)时,可能需要执行此操作.即使没有必要,有些人也喜欢这样做.这仅仅是有人可能会这样做的一个例子.
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |