![e3d80defa41384f12dc908a1e7decddb.png](https://img-blog.csdnimg.cn/img_convert/e3d80defa41384f12dc908a1e7decddb.png)
之前我们处理的那些流的源头都是我们的文件,这些文件都是存储在我们的硬盘上的,这些硬盘上的资源,我们的java虚拟机是没有权力访问的,必须借助操作系统,所以我们借完了之后要通知它释放资源
现在我们将文件的源头换成另外一个源头,换成我们电脑上的一块内存,也就是我们所谓的字节数组(要不把它看成是一块硬盘上的内存,要不看成是网络上的一块内存,或者是服务器上的一块内存),既然是内存java是可以直接访问的,因为是java虚拟机上的内存,字节数组流是由java的垃圾回收机制(gc)释放的,所以自己数组流不用关闭。字节数组流不用释放,因为里面是一个空方法。
我所有的东西都可以转成字节数组(包括对象),转成字节数组它直接就是二进制了,方便我们后期网络上进行传输。内存不建议量非常的大
![f835b0a822f3e2bf326bdc73bd265daf.png](https://img-blog.csdnimg.cn/img_convert/f835b0a822f3e2bf326bdc73bd265daf.png)
讲一下字节数组输入流
字节数组流不一样的地方:
1.源头换成字节数组2.字节数组流不用关3.任何东西都可以转成字节数组4.字节数组不要太大。
![03760dbbe30bc05dfc413b4c2c52f0fa.png](https://img-blog.csdnimg.cn/img_convert/03760dbbe30bc05dfc413b4c2c52f0fa.png)
![6041ffbe17783a13bab5570a44877ad8.png](https://img-blog.csdnimg.cn/img_convert/6041ffbe17783a13bab5570a44877ad8.png)
![32c6981193bf264fba29eecca636b124.png](https://img-blog.csdnimg.cn/img_convert/32c6981193bf264fba29eecca636b124.png)
比对该类的方法名在其父类中是否存在同样的方法名,如果存在,说明该方法在该类中重写了;
图标的含义:
https://blog.csdn.net/hekewangzi/article/details/50526416
如何理解多态:看完下面的话一下子就理解了
多态是同一个行为具有多个不同表现形式和形态的能力;多态是同一个接口,使用不同的实例而执行不同操作
![0ee777dd4bbecdd1ba8295bcbe1ca4b7.png](https://img-blog.csdnimg.cn/img_convert/0ee777dd4bbecdd1ba8295bcbe1ca4b7.png)
![5ca7237d3288a80a0722c5fc2c385186.png](https://img-blog.csdnimg.cn/img_convert/5ca7237d3288a80a0722c5fc2c385186.png)
InputStream下面的子类就是多个实例对象,然后就可以理解为多态
![164bfffbb93e263c9e252d9e5112cad7.png](https://img-blog.csdnimg.cn/img_convert/164bfffbb93e263c9e252d9e5112cad7.png)
![5ce974199eb62d29ac27c44a88a5f89f.png](https://img-blog.csdnimg.cn/img_convert/5ce974199eb62d29ac27c44a88a5f89f.png)