------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
字符流的缓冲区
提高对数据的读写效率,对应类BufferedWriter,BufferedReader,在流的基础上使用,提高了流操作效率必须先有流对象。BufferedWriter bufw=new BufferedWriter("FileWriter");缓冲区要刷新才能写入,关闭缓冲区就是关闭缓冲区中的流对象(流不需要再关闭了 )。该缓冲区冲提供了一个跨平台的换行方法newline().
装饰设计模式
当想要对已有的对戏那个进行功能增强时,可以定义类,将已有对象传入,基于已有的功能,并提供了加强功能那么自定义的该类称为装饰类
装饰设计模式与继承的区别public class PersonDemo {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubPerson p=new Person();SuperPerson p1=new SuperPerson(p);p1.superChifan();}}class Person{public void chifan(){//功能方法吃饭System.out.println("吃饭");}}class SuperPerson{ //装饰类对Person类进行增强private Person p;SuperPerson(Person p){//构造方法需要传入被增强类this.p=p;}public void superChifan(){//增强的方法System.out.println("开胃酒");p.chifan();System.out.println("甜点");System.out.println("来一根");}}
完全的继承
MyReader//专门用于读取数据的类
|--MyTextReader
|--MyBufferTextReader
|--MyMediaReader
|--MyBufferMediaReader
|--MyDateReader
|--MyBufferDateReader
特点:臃肿,扩展性差
class MyBufferReader extends MyReader{class MyBufferReader{MyBufferReader(MyTextReader text){}MyBufferMediaReader(MyMediaReader){}}特点:扩展性差。找到其参数的共同类型。通过多态的形式。可以提高扩展性。
MyBufferReader(MyReader r){
}
}
MyReader//专门用于读取数据的类型
|--MyTextReader
|--MyMediaReader
|--MyDateReader
|--MyBufferReader
装饰模式比继承灵活。避免了继承体系的臃肿。
而且降低了类与类之间的关系。
装饰类因为增强了已有对戏那个,具备的功能和已有的相同,只不过提供了更强的功能
所以装饰类和被装饰类通常是都属于同一个体系中。