关于ServerSocketChannel和SocketChannel
1 这两个类是抽象类
源码里面它们的前面是加了abstract的。
2 抽象类是不能new出实例的
3 这两个类使用静态方法open创建其子类的实例
有动态绑定原理可知,返回的ServerSocketChannel和SocketChannel引用指向的是其子类的对象。在调用accept()、connect()等虚函数的时候,其实是动态绑定到其子类的具体实现上。
4 查看具体的实现的方法
只要查看open返回的对象的引用的className()就可以了。