为什么Object类是基于Java的基类,而不是抽象的?
我真的很长时间都有这个问题,这里纯粹是出于好奇而被问到这一点.我的代码或任何人的代码都没有破坏因为它不是抽象的,但我想知道为什么它们具体化了?
为什么有人想要这个Object类的"实例"(而不是它的存在,也就是引用)?一种情况是一个糟糕的同步代码,它使用一个Object的实例进行锁定(至少我用这种方式一次......我的坏).
是否有任何实际使用Object类的"实例"?它的实例化如何适合OOP?如果他们将其标记为抽象(当然在为其方法提供实现之后)会发生什么?
我有一个实现的类,Serializable我通过一个类型的锁对象来保护这个类的不变量Object.是暂时还是可以有任何不必要的副作用?
代码:
class MyClass implements Serializable{
private final transient lock = new Object();
....
}
Run Code Online (Sandbox Code Playgroud)