我们来看一下AbstractStringBuilder类
- 这个抽象类不是public类 也无法new一个匿名类
- 这个类是StringBuilder StringBuffer 的**直接父类** 可以说基本上这两个类实现的基本是父类里面定义的方法
基于第二点 我们就有必要来好好了解一下这个类 这让我们学习StringBuilder 和StringBuffer更加明细里面的细节
类的声明
abstract class AbstractStringBuilder implements Appendable, CharSequence
//该类实现了两个接口(行为) 同时也是这个抽象类的特征
//CharSequence (字符序列接口) 要实现
1.规定获取字符长度 int length();
2.规定字符串单个字符的查找, char charAt(int index);
3.规定得到该字符串的子序列 CharSequence subSequence(int start, int end);
4.重写了父类Object的toString()
//Appendable 定义添加的规则
1.Appendable append(CharSequence csq) throws IOException; ---> 如何添加一个字符序列
2. Appendable append(CharSequence csq, int start, int end) throws IOException; ----> 如何添加一个字符序列的一部分
3.Appendable append(char c) throws IOException; ---> 如何添加一个字符
成员变量
构造方法char[] value; int count; 从这里可以看出与String的区别 String 是final 这里定义的 是一个动态数组 可供我们灵活的在原数组上操作
AbstractStringBuilder() {}
AbstractStringBuilder( int capacity){value = new char[capacity];}
两种构造方法 提供了一个初始化容量的构造方法
常用方法
StringBuilder sb4 = new StringBuilder("nihao");



