我在网上找到了这段代码,该人正在实例化一个在类外具有私有构造函数的类。我无法理解这是如何工作的,因为从我之前读过的内容来看,您在类中使用了私有构造函数,因此它不能在类之外实例化。
public final class A extends B {
private A(Something, Something)
{
//Something
}
public void someMethods()
{
//Something
}
}
public final class B {
private A a;
public void someMethod()
{
final ObjectInputStream objectInputStream = new ObjectInputStream(
new ByteArrayInputStream(buffer.toByteArray()));
a = (A) objectInputStream.readObject();
objectInputStream.close();
a.someMethods();
}
}
我只是想了解这里到底发生了什么?我试着继续阅读,ObjectInputStream
但无法从中得到任何东西。