20165322 第五周学习总结

第五周学习总结

第7章知识点总结

  • 内部类与外嵌类
    • 内部类的外嵌成员变量在内部类中仍有效,内部类中的方法也可以调用外嵌类的方法
    • 内部类不可以声明类变量和类方法(static),外嵌类可以用内部类声明对象,作为外的成员。
    • 内部类仅供他的外嵌类使用,其他类不可以使用某类的内部类声明对象。若内部类被修饰为static内部类,则其他类可以使用某类的此内部类来创建对象。static内部类不能操作外嵌类中的实例成员(非static)变量。
    • 内部类的字节码文件名字格式为外嵌类名$内部类名
  • 匿名类
    • 匿名类是一个子类去掉声明后的类体,是一个内部类。
    • 匿名类不能声明对象,但可以创建对象。创建对象时,直接用父类的构造方法:
    new 父类名(){
        匿名类的类体
    };
    
    • 接口名和一个类体创建一个匿名对象。
  • 异常类
    • try-catch 语句:将可能出现异常的操作放在try部分,将发生异常的部分放在catch部分
    try{
        包含可能发生异常的语句
    }
    catch(ExceptionSubClass1  e){
        ...
    }
    catch(ExceptionSubClass2  e){
        ...
    }
    
    • try-catch?(final):在执行try~catch语句后执行finally子语句,finally不管怎样都会执行
    try{}
    catch(ExceptionSubClass  e){}
    finally
    
    • 声明异常类:在产生异常的方法名后面加上要抛出(throws)的异常的列表
    • 自定义异常类
  • 断言
    • 用于调试阶段,发现致命错误。
    • 用assert声明断言语句:
    - assert booleanExpression
    - assert booleanExpression
    

第10章知识点总结

  • 创建File对象的构造方法有3个:

    • File(String filename);
    • File(String directoryPath,String filename);
    • File(File f, String filename);
  • 获取文件本身的一些信息

    • 获取文件的名字:public String getName()
    • 判断文件是否是可读的:public boolean canRead()
    • 判断文件是否可被写入:public boolean canWrite()
    • 判断文件是否存在:public boolean exits()
    • 获取文件的长度(单位是字节):public long length()
    • 获取文件的绝对路径:public String getAbsolutePath()
    • 获取文件的父目录:public String getParent()
    • 判断文件是否是一个普通文件,而不是目录:public boolean isFile()
    • 判断文件是否是一个目录:public boolean isDirectroy()
    • 判断文件是否是隐藏文件:public boolean isHidden()
    • 获取文件最后修改的时间:public long lastModified()
  • 目录

    • 创建目录:public boolean mkdir()
    • 列出目录中的文件
    • 文件的创建与删除
    • 运行可执行文件
  • 文件字节输入流

    • 构造方法:创建指向文件的输出流
    FileOutputStream(String name)
    FileOutputStream(File file)
    
    • 使用输出流写字节:
      • 向目的地写入单个字节:void write(int n)
      • 向目的地写入一个字节数组:void write(byte b[])
      • 从字节数组中偏移量off处取len个字节写到目的地:void write(byte b[],int off,int len)
    • 关闭流:
      • 调用close()方法
  • 缓冲流

    • BufferedReader(Reader in)
    • BufferedWriter (Writer out)
    • 读取文本行:readLine()
    • 把字符串s写到文件中:write(String s,int off,int len)
    • 向文件写入一个回行符:newLine()
  • 随机流

    • 构造方法:
      • RandomAccessFile(String name,String mode)
      • RandomAccessFile(File file,String mode)
    • 相关方法:
      • seek(long a)定位RandomAccessFile流的读写位置
  • 数组流

    • ByteArrayInputStream构造方法及常用方法
      • ByteArrayInputStream(byte[] buf)
      • ByteArrayInputStream(byte[] buf,int offset,int length)
      • public int read()
      • public int read(byte[] b,int off,int len)
      • ByteArrayOutputStream()
      • ByteArrayOutputStream(int size)
      • public void write(int b)
      • public void write(byte[] b,int off,int len)
      • public byte[] toByteArray()
  • 数据流

    • DataInputStream创建的数据输入流指向一个由参数in指定的底层输入流
    • DataOutputStream创建的数据输出流指向一个由参数out指定的底层输出流
  • 使用Scanner解析文件

    • 使用默认分隔标记解析文件
    File file = new File("hello.java");
    Scanner sc = new Scanner(file);
    
    • 使用正则表达式作为分隔标记解析文件 : 创建Scanner对象,指向要解析的文件,并使用useDelimiter方法指定正则表达式作为分隔标记
    File file = new File("hello.java");
    canner sc = new Scanner(file);
    sc.useDelimiter(正则表达式);
    
  • 对话框

    • 构造方法JFileChooser()创建初始不可见的有模式的文件对话框。
    • 文件对话框调用下述2个方法
      • showSaveDialog(Component a);
      • showOpenDialog(Component a);
  • 文件锁

    • 输入、输出流读写文件时可以使用文件锁
    • RondomAccessFile创建流建立指向文件的流对象,该对象的读写属性必须是rw
    • input流调用方法getChannel()获得一个链接到底层文件的FileChannel对象
    • 信道调用tryLock()或lock()方法获得一个FileLock对象,这一过程也称作对文件加锁

上周测试总结:

  • 解析:UML中,方法的属性用+表示public,用-表示private。在UML 里,一个类的属性能显示它的名字,类型,初始化值。

  • 解析:用类声明的变量是对象;在类体中声明的对象是成员变量;全局变量:Java程序中,不能在所有类之外定义全局变量,只能通过在一个类中定义公用、静态的变量来实现一个全局变量。参考java全局变量

  • 解析:Integer类型的对象包含一个int类型的字段,Integer会自动拆箱为int,因此值相等

代码截图及码云链接

码云链接:https://gitee.com/BESTI-IS-JAVA-2018/20165322wyj

原文地址:https://www.cnblogs.com/wangyaojia/p/8685082.html