java - 为什么SocketChannel是abstract类却可以生成对象?
阿神
阿神 2017-04-17 11:58:08
[Java讨论组]

RT

java源代码片段:
public abstract class SocketChannel
extends AbstractSelectableChannel
implements ByteChannel, ScatteringByteChannel, GatheringByteChannel, NetworkChannel

阿神
阿神

闭关修行中......

全部回复(1)
天蓬老师

它是一个抽象类,当然是不可以直接用来生成对象的。它没有构造器可以生成对象。

但它的静态方法 open 却可以生成是 SocketChannel 的对象。注意实际生成的是一个子类的对象,不信你可以查下它的 className,是 sun.nio.ch.SocketChannelImpl 。这种做法就隐藏了实现的细节,让你不需要了解具体的实现类。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号