接口 中的所有方法都是方法 抽象
使用接口实现多继承
类型的装换
数据成员就变成了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