接口 中的所有方法都是方法 抽象
使用接口实现多继承
类型的装换###

数据成员就变成了static 和 final

food 和 snow 都是可以吃的






可以同时实现多个接口

接口与接口之间也可以有继承关系



类型转换###




向上转换###


显式转换##

显示转换





超类的引用不能访问子类的方法
方法的查找##

实例方法查找
从创建对象的时候向上查找

这里和C++不太一样

banding#
早绑定:
晚绑定:动态绑定
动态绑定

二次分发技术###




构造方法与多态性:


先超类,后组件,最后自己

构造方法中调用多态方法




输入输出流##
异常处理简介
异常处理得概念

错误&异常


预定义常见得异常
‘

异常得处理##
检查型的异常

抛出异常得例子


生成异常对象3种方式



要传一个字符串进去描述发生了什么
输入输出流###


面向字符的抽象流类


面向字节的是面向非文本数据的数据
尽量存成2进制的数据面向字节
标准输入输出流对象



标准输入输出重定向


重定向
写文本文件###

Filerwirter 对象的实例
捕获和处理IO异常


用BufferedWirter换行
套一个BUfferedWriter 可以提供缓冲提高效率

用newLine可以提供正确的换行
读文本文件##
FileReader类 从文本文件中读取字符
套一个缓冲流

读一行如果不空就接着读


返回某个字符的int类型的整数
例子:文件的复制##





单入口

写二进制文件##



讲三个数据写入数据文件



三次嵌套
按类型缓冲写数据



readbyte 是补符号位
readunsigedbyte 是零扩展
从二进制文件中读取数据


又是三次嵌套
读完了会抛出一个异常


读单个字节,写单个字节

低位8位



一个字节一个字节的复制
EOFEception

两个异常
Flie类##
管理文件的操作




改进

用File判断文件是否存在
处理压缩文件##



这里几乎嵌套了四次流
FileINputStream 面向字节的流
GZIPInputStream 解压
InputStreamReader 桥梁
BufferedReader 提供了readLine

第二个不关文本文件的事直接按字节复制就好

ZIP格式更复杂一些##




重要的一行
解压缩ZIP

解压缩回复路径

有没有斜杠的统一

是目录要创建,不存在要创建





对象序列化##
对象的读写



将对象村办
s.flush 清空缓冲区


readObject 方法读取一个对象

空接口。。

阻止写入文件


ObjectOutputStream 嵌套FileOutputstream
对象输出流

Externalizable 接口

实现两个方法
writeExternal() readExternal()
写和读的定制
随机文件的读写##
RandowmAccessFile





