21(IO字符流,装饰设计模式)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Haidaiya/article/details/82943168

1 字符流FileReader和FileWriter

2 带缓冲区的字符流BufferesReader和BufferedWriter

3 readLine()和newLine()方法(缓冲区的新方法)

4 LineNumberReader

这个类是BufferedReader的子类,它的作用是设置行号,和获得行号

5 装饰设计模式

他的意思就是原来的功能不够强大,经过装饰使得它强大。

package com.haida.zhuangshi;

public class Demo1 {

	public static void main(String[] args) {
		HeimaStudent s = new HeimaStudent(new Student());
		s.code();
	}
	
	
}

interface Coder{
	public void code();
}

class Student implements Coder{

	@Override
	public void code() {
		System.out.println("java基础");
	}
	
}

class HeimaStudent implements Coder{
	private Student s;
	
	public HeimaStudent(Student s) {
		this.s = s;
	}

	@Override
	public void code() {
		s.code();
		System.out.println("java web"); 
		System.out.println("ssm");
		System.out.println("大数据");
	}
	
}

装饰设计模式是这样,以上面代码为例,Student的功能比较低,那么如何装饰它呢?定义了一个HeimaStudent类,获取被装饰类的引用,并加强它的方法,其实Bufferedreader类对于FileReader来说就是一个装饰作用,FileReader及时被装饰类,比较明显的标志是,BufferedReader的构造方法要求传入一个Reader对象。好处是耦合性不强,不相互影响。

 

猜你喜欢

转载自blog.csdn.net/Haidaiya/article/details/82943168