根据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)将毫无意义,并且将完全无用。

10-08 04:33