《Java程序设计》第六周学习总结

时间:2021-04-20 19:19:54

20175230 2018-2019-1 《Java程序设计》第六周学习总结

教材学习内容总结

内部类

  • Java支持在一个类中定义另一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类
  • 内部类和外嵌类之间的重要关系有
    1.内部类的外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可调用到外嵌类中的方法
    2.内部类的类体中不可以声明类变量和类方法,外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员
    3.内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象

匿名类

  • 和子类有关的匿名类 假设Bank 是类,那么下面代码就是用Bank的一个子类(匿名类)创建对象
new Bank() {
              匿名的类体
       }
  • 和接口有关的匿名类 下列代码就是用实现可Computable接口的类(匿名类)创建对象
new Computable() {
    实现接口的匿名类的类体
    }

异常类

  • try-catch语句
  • 自定义异常类

断言

  • 断言语句的语法格式,使用关键字assert声明一条断言语句,有两种形式
assert booleanExpression;
assert booleanExpression:messageException;
  • 启用与关闭断言语句

File类

  • 文件的属性
    • 使用File类的方法获取文件本身信息 链接
      在 Java 中,File 类是 java.io 包中唯一代表磁盘文件本身的对象。File 类定义了一些与平台无关的方法来操作文件,File类主要用来获取或处理与磁盘文件相关的信息,像文件
      名、 文件路径、访问权限和修改日期等,还可以浏览子目录层次结构。

      File 类表示处理文件和文件系统的相关信息。也就是说,File 类不具有从文件读取信息和向文件写入信息的功能,它仅描述文件本身的属性。

      File类提供了如下三种形式构造方法。
      File(File parent,String child):根据 parent 抽象路径名和 child 路径名字符串创建一个新 File 实例。
      File(String pathname):通过将给定路径名字符串转换成抽象路径名来创建一个新 File 实例。如果给定字符串是空字符串,则结果是空的抽象路径名。
      File(String parent,String child):根据 parent 路径名字符串和 child 路径名字符串创建一个新 File 实例。

使用任意一个构造方法都可以创建一个 File 对象,然后调用其提供的方法对文件进行操作。在表 1 中列出了 File 类的常用方法及说明。

  • 目录
    • 创建目录 File对象调用方法public boolean mkdir ()创建目录
    • 列出目录中文件
    • 文件的创建与删除 当使用File类创建一个文件对象后,例如
      File file=new File("c:\\myletter","letter.txt");
      如果c:\myletter目录中没有名字为letter.txt文件,文件对象file调用方法public boolean createNewFile();
      文件对象调用方法 public boolean delete()可以删除当前文件
  • 文件字节输入流
    • java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流;OutputStream抽象类的子类创建的流对象称作字节输出流。Java把Reader抽象类的
      子类创建的流对象称作字符输入流;Writer抽象类的子类创建的流对象称作字符输出流。
      针对不同的源或目的地。java.io包为程序提供了相应的输入流或输出流。这些输入、输出流绝大部分都是InputStream、OutputStream、Reader或Writer的子类。
      使用输入流通常包括4个基本步骤:
      设定输入流的源
      创建指向源的输入流
      让输入流读取源中的数据
      关闭输入流。
  • 文件字节输出流
    使用输出流通常包括4个基本步骤:
    给出输出流的目的地
    创建指向目的地的输出流
    让输出流把数据写入到目的地
    关闭输出流。
  • 文件字符输入输出流
  • 缓冲流
  • 随机流
  • 数组流
  • 数据流
  • 对象流
  • 序列化与对象克隆使用Scanner解析文件
  • 文件对话框
  • 文件锁

教材学习中的问题和解决方法

  • 问题一:example10_2中,String fileName[]=dirFile.list(fileAccept) 此句是啥意思
  • 问题一的解决方法:经过听视频 ,fileAccept是一个文件过滤器,也就是选取你想要的文件类型,fileAccept.setExtendName("java")是选取java类型的文件,假如java改为class,则为选取扩展名是class的文件

代码调试中的问题和解决方法

  • 问题一:example10_1中,运行结果与书上不一致或者出错
    《Java程序设计》第六周学习总结
    《Java程序设计》第六周学习总结

  • 问题一解决方法:经过查看运行结果中的绝对路径发现,代码中的绝对路径和实际路径不相符合,把代码中的绝对路径改为实际路径就好了
    《Java程序设计》第六周学习总结

  • 问题二:example10_3运行出错
    《Java程序设计》第六周学习总结

  • 问题二解决方法:File file = new File("c:/windows","Notepad.exe");路径和记事本程序不对,在虚拟机中没有记事本,可以改换虚拟机存在的程序

  • 问题三:Example10_7运行出错
    《Java程序设计》第六周学习总结

  • 问题三解决方法:例七读取的txt文件要与Example10_7放一起,然后编译运行
    《Java程序设计》第六周学习总结

  • 问题四:example10_12运行出错
    《Java程序设计》第六周学习总结

  • 问题四解决方法:类名与对象的类名不一致,检查类名

代码托管

《Java程序设计》第六周学习总结