创意源自激情,技术成就梦想 畅翼创新俱乐部 2012年春俱乐部第三次技术培训 赵程
本次培训过程 1 接口 培训流程 2 内部类 3 流 4 文件操作 5 作业
接口 什么是接口? 接口的定义和使用 接口是一种与类相似的结构,但接口不是类,而是一组对类的要求,这些类要与接口一致 一个类只能有一个超类,但是一个类可以实现一个或多个接口,并在需要接口的地方,随时使用实现了相应接口的对象 接口的定义和使用 interface NameOfInterface { } class NameOfClass implements NameOfInterface {
接口的实现 实现接口的类中必须对接口中的方法进行定义,否则该类就是一个抽象类,不能实例化对象,实现时要加@override标签 interface NameOfInterface { public void nameOfFunction(); } class NameOfClass implements NameOfInterface { @Override public void nameOfFunction() {
接口的特性 与可以建立类的继承关系一样,一个接口也可以扩展自另一个接口 接口中不能包含实例字段和静态方法,但接口中可以声明常量 接口中的方法自动被设置为public 字段被自动设置成public static final 每个类只能有一个超类,但类能够实现多个接口
内部类 内部类就是在一个类里面定义另一个类 内部类方法可以访问该类定义所在的作用域中的数据,包括私有数据 内部类可以被同一个包中的其他类隐藏起来 当想要进行一些事件处理而且不想编写大量代码时,使用匿名内部类比较便捷
内部类
局部内部类
流 流的概念——当程序需要读取数据的时候,就会开启一个通过数据源的流,这个数据源可以是文件,内存,或是网络连接 当程序需要写入数据的时候,就会开启一个通向目的地的流。这时,你可以想象数据在其中流动。
流 流可分为字节流和字符流 字节流的基类 InputStream OutputStream 字符流的基类 Reader Writer
流 InputStream abstract int read() //读取下一个字节并返回它的整数表示 int read(byte b[]) //把字节读到数组b中,并返回实际读入的字节数 long skip(long n) //跳过数据流中n个字节的数据,并返回实际跳过的字节数 int available() //返回能够从输入数据流中读取的字节数 void close() //关闭数据流
流 OutputStream void flush() //该方法把数据流中的任何缓冲数据都发送到目的地并清空缓冲区 abstract void write(int b) void write(bute[] b) void flush() //该方法把数据流中的任何缓冲数据都发送到目的地并清空缓冲区 void close()
流 Reader Writer abstact int read() int read(char b[]) long skip() void close() Writer abstract void write(int b) void write(char[] b) void flush()
文件操作 文件读写的方法有很多种 直接写入文件(覆盖、追加),从开头读取文件——数据流 FileOutputStream+PrintWriter FileInputStream+DataInputStream
文件操作 在文件的任何地方查找、修改、写入 随机存取文件 RandomAccessFile void seek(long pos) //将偏移设置为从数据流的开始处到下一次读写的位置 long getFilePointer() //返回偏移的的字节值,偏移是指从文件开始到下一次读写位置的距离 long length() //返回文件长度
文件操作 文本输出 PrintWriter 常用方法 print Println 如果不是自动刷新创建的PrintWriter对象,print完以后一定要flush()来清空缓冲区(将缓冲区内容写入文件)
文本操作 文本输入 BufferedReader 这个类还可以从cmd里读取输入的内容 BufferedReader in = new BufferedReader(new FileReader("example.txt")); String content = in.readLine(); BufferedReader in = new BufferedReader (new InputStreamReader(System.in)); String content = in.readLine();
文件管理 File类 常用方法 必须使用文件数据流对磁盘文件进行读写 File file = new File(“test.txt”); exists() 查看文件是否存在 getName() 得到文件名 getPath() 得到文件完整路径 getParent() 得到包含文件的目录 必须使用文件数据流对磁盘文件进行读写 FileInputStream和FileOutputStream用于字节流 FileReader和FileWriter用于字符流
作业 写一个记事本程序Note.java 要求: 1.每次写的内容写到一个文件中,要求程序中可读写删除该文件 2.可以将多个文件打包(合并)成一个文件 3.可以将打包(合并)的文件解包(拆分),还原为原来的文件
Thank you ˊ_>ˋ