1.适配器(Adapter)java.util.Arrays$ArrayList(java.util.Arrays#asList()); 这里要特别注意,这里的ArrayList是Arrays的内
1.适配器(Adapter)
java.util.Arrays$ArrayList
(java.util.Arrays#asList());
这里要特别注意,这里的ArrayList是Arrays的内部类不是java.util.ArrayList.这里的ArrayList是外部不可见的,用来把一个array适配成List.
Sample:
String a[] = new String[]{"123","abc","xyz","DDD"};
List list = Arrays.asList(a);
java.io.InputStreamReader(InputStream)
InputStream --> Reader
java.io.OutputStreamWriter(OutputStream)
(returns a Writer
)
参见上两个
2.组合模式(Composite)
java.awt.Container#add(Component)
3.装饰器(Decorator)
所有 java.io.InputStream
, OutputStream
, Reader
跟 Writer 的子类有一个构造函数接受同类型的实例,下面用一个例子来图示
.
还参见java.util.Collections
, 的 checkedXXX()
, synchronizedXXX()
,unmodifiableXXX()方法
.
4.外观模式(Facade)
JDBC中的IConnection等接口
5.享元模式(Flyweight)
java.lang.Integer#valueOf(int)
(Boolean
, Byte
, Character
, Short,
Long
)
6.代理模式(Proxy)
java.lang.reflect.Proxy
--结束END--
本文标题: JDK 源码 阅读 - 3 - 设计模式 - 结构型模式
本文链接: https://www.lsjlt.com/news/43655.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
2024-05-02
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0