根据Socket的Java文档,套接字具有一个名为SocketImpl的类的实例。
但是,如果您查看该类,它将清楚地表明SocketImpl是一个抽象类。
据我所知,您不能有一个抽象类的实例!谁能告诉我这是怎么回事?
链接:Socket Java Docs
Docs的Qoute:
链接到SocketImpl类:SocketImpl
最佳答案
实际的具体对象是扩展SocketImpl
的类的实例:
public class ConcreteSocketImpl extends SocketImpl {
... (implement all the abstract methods from SocketImpl)
}
而且由于继承定义的是关系,所以ConcreteSocketImpl的任何实例都是SocketImpl。
这是面向对象的基本原理。如果您没有抽象类的任何实例,那么抽象类和接口(interface)将毫无意义,并且将完全无用。