java 3 接口与多态&输入输出流
接口 中的所有方法都是方法 抽象
使用接口实现多继承
类型的装换

数据成员就变成了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






java 3 接口与多态&输入输出流的更多相关文章
- (JAVA)从零开始之--对象输入输出流ObjectInputStream、ObjectOutputStream(对象序列化与反序列化)
对象的输入输出流 : 主要的作用是用于写入对象信息与读取对象信息. 对象信息一旦写到文件上那么对象的信息就可以做到持久化了 对象的输出流: ObjectOutputStream 对象的输入流: Ob ...
- Java中IO流,输入输出流概述与总结
总结的很粗糙,以后时间富裕了好好修改一下. 1:Java语言定义了许多类专门负责各种方式的输入或者输出,这些类都被放在java.io包中.其中, 所有输入流类都是抽象类InputStream(字节输入 ...
- Java 基础 接口和多态
接口 接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的”类”. 接口只描述所应该具备的方法,并没有具体实现,具体的实现由接口的实现类(相当于接口的子类)来完成.这样将功能的 ...
- Java基础(二十四)Java IO(1)输入/输出流
在Java API中,可以从其中读入一个字节序列的对象称作输入流,而可以向其中写入一个字节序列的对象称为输出流. 输入流的指向称为源,程序从指向源的输入流中读取数据. 输出流的指向是字节要去的目的地, ...
- Java基础之文件的输入输出流操作
在介绍输入输出流之前,首先需要了解如何创建文件,创建文件夹以及遍历文件夹等各种操作,这里面不在一一介绍,主要介绍的是文件的输入输出流操作. 在起初学习文件操作之前,总是喜欢将输入输出弄混淆,后来通过看 ...
- Java中的常用的输入输出流
Java中的输入输出流根据格式又可以分为字节流和字符流:(成对) 字节流:FileInputStream,FileOutputStream : BufferedInputStream,Buffe ...
- Java中的I/O输入输出流概述
流是一组有序的数据序列,根据操作类型,可以分为输入流和输出流两种,Java语言中定义的负责各种输入输出的类都被放在java.io包中.其中所有的输入流类都是抽象类InputStream(字节输入流)或 ...
- 【java】缓冲字符字节输入输出流:java.io.BufferedReader、java.io.BufferedWriter、java.io.BufferedInputStream、java.io.BufferedOutputStream
BufferedReader最重要,因为有个方法public String readLine() package System输入输出; import java.io.BufferedReader; ...
- Java中IO对象的输入输出流
输入流: public void inputDemo () throws IOException { //文件名称 String fileName = "d:\\aaa.txt"; ...
随机推荐
- Nginx部署vue项目的配置
. 官网下载 http://nginx.org/en/download.html 选择stable version nginx/Windows-1.14.1 pgp . 解压 然后配置环境变量,如果环 ...
- Bash 常用快捷方式
从历史中执行命令 ctrl +r 搜索历史命令记录 !$ 重复上一个命令参数 文本编辑的快捷方式 c 分别更改这些配对标点符号中的文本内容 di 分别删除这些配对标点符号中的文本内容 do ...
- codeforces600E. Lomsat gelral(dsu on tree)
dsu on tree先分轻重儿子先处理轻边,再处理重儿子再加上轻儿子的答案 #include<iostream> #include<cstdio> #include<q ...
- 未A,或用水法,或不熟的题
今天是2017.11.25 1. 用栈实现dfs JZOJ_senior 3467 2. 链表加堆或线段树乱搞 JZOJ_senior 3480 3. 求每个边所在的奇环.偶环 JZOJ_senior ...
- 廖雪峰Java11多线程编程-1线程的概念-3线程的状态
1线程的状态 线程终止的的原因: run()或call()方法执行完成,线程正常结束 线程抛出一个未捕获的Exception或Error 直接调用该线程的stop()方法来结束该线程--该方法容易导致 ...
- 工控安全入门(六)——逆向角度看Vxworks
上一篇文章中我们对于固件进行了简单的分析,这一篇我们将会补充一些Vxworks的知识,同时继续升入研究固件内容. 由于涉及到操作系统的内容,建议大家在阅读本篇前有一定操作系统知识的基础,或者是阅读我的 ...
- Jeecg-Boot 开发环境准备(二):开发工具安装
目录索引: 后端开发工具 前端开发工具 Nodejs镜像 WebStorm入门配置 JeecgBoot采用前后端分离的架构,官方推荐开发工具 前端开发: Webstrom 或者 IDEA 后端开发: ...
- Spring MVC(二)--Spring MVC登陆实例
本文通过一个简单的登陆实例实现Spring MVC的流程,同时整合 MyBatis使用,流程是这样的: 1.访问一个URL进入登陆界面 2.输入正确的用户名和密码,成功则进入index页面,否则留在登 ...
- this的五种指法
this 到底指向哪里 以下如果没提及,则为严格模式. js中作用域有两种: 词法作用域 动态作用域 词法作用域 词法作用域指在书写代码时就被确定的作用域.看如下代码 var value = 1; f ...
- Hdfs的列存储和行存储
列可以分开存储,对于重复性高的数据压缩比会高,但是在元组(行shi)恢复会比较消耗性能 于传统列存储不同 是行组会存储于同一节点中,列扫描会比较快(因为只需扫描一个行组)