工厂模式:
//如果一个方法参数是接口,那么调用方法时,必须传入该接口的实现类对象
//如果一个方法返回值是接口,那么可以返回任何一个该接口实现类
输入输出流:
流按照方向分:输入流,输出流。
流的方向以内存作为参照物。
如果从数据源中将数据读取到内存叫输入流,也叫读取流。
如果将内存中的数据写入到数据源,叫输出,也叫写入流。
流按照类型分:字节流、字符流、对象流。
在数据传输的底层部分,所有的数据都以二进制方式传输。所以真正流只有字节流。为了方便程序员更好的对字符串和对象进行操作。所以在字节流基础上作了一层包装,简化这些操作。
字节流-》抽象父类是InputStream和OutputSteam
字符流->抽象父类是Reader和Writer
InputStream是读取字节流的父类。该类是抽象类,提供read()抽象方法。每个子类根据自己数据源的特点分别重写read()。达到相同的行为不同的实现效果。满足开闭原则。
流操作的三个步骤:
1、建立流2、操作流3、关闭流
读取文本首选字符流,但读取音频、视频、图片这样的二进制文件,只能用字节流。
//如果一个方法参数是接口,那么调用方法时,必须传入该接口的实现类对象
//如果一个方法返回值是接口,那么可以返回任何一个该接口实现类
输入输出流:
流按照方向分:输入流,输出流。
流的方向以内存作为参照物。
如果从数据源中将数据读取到内存叫输入流,也叫读取流。
如果将内存中的数据写入到数据源,叫输出,也叫写入流。
流按照类型分:字节流、字符流、对象流。
在数据传输的底层部分,所有的数据都以二进制方式传输。所以真正流只有字节流。为了方便程序员更好的对字符串和对象进行操作。所以在字节流基础上作了一层包装,简化这些操作。
字节流-》抽象父类是InputStream和OutputSteam
字符流->抽象父类是Reader和Writer
InputStream是读取字节流的父类。该类是抽象类,提供read()抽象方法。每个子类根据自己数据源的特点分别重写read()。达到相同的行为不同的实现效果。满足开闭原则。
流操作的三个步骤:
1、建立流2、操作流3、关闭流
读取文本首选字符流,但读取音频、视频、图片这样的二进制文件,只能用字节流。