• 20165203《Java程序设计》第五周学习总结


    教材学习内容总结

    第七章
    • 内部类
      注意内部类和外嵌类的关系:
    1. 外嵌类的成员变量和方法在内部类有效
    2. 内部类的类体不可以声明static变量和方法。外嵌类的类体可以用内部类声明对象。
    3. 内部类仅供它的外嵌类使用,其他类不可以。
    • 匿名类
    1. 直接使用子类的类体创建一个子类对象。
    2. 匿名类可以继承父类的方法也可以重写父类的方法。
    3. 匿名类一定是内部类。
    4. 匿名类可以访问外嵌类中的成员变量和方法,但自身类体不可以有static成员变量和方法。
    5. 用匿名类创建对象时,要直接使用父类的构造方法。
    6. 和接口有关的匿名类:如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法参数,类名必须要重写接口中的全部方法。
    • 异常类 (try-catch语句)
      try-catch语句的格式:
    try {
        包含可能发生异常的语句  
        
    }
    catch (ExceptionSubClass1 e){
        ···
    }
    catch(ExceptionSubClass2 e){
        ···
    }
    

    注意:
    1.各个catch参数的异常类都是Exception的某个子类,表明try部分可能发生的异常,且子类之间不能有父子关系,否则只保留一个即可。
    2.也可以自定义异常类。

    • 断言(assert语句)
    1. 断言语句的语法格式
      assert booleanExpression

    assert booleanExpression:messageException
    2.启用与关闭
    直接用java格式运行,默认关闭断言句
    可以使用java -ea mainClass启用断言句

    • finally语句
      1.格式:
    try{}  
    catch(ExceptionSubClass e) {  }  
    finally{}  
    

    2.无论try是否异常,finally子语句都会被执行

    第十章
    • File类:File对象主要用来直接获取文件本身的一些信息(文件所在的目录,长度和读写权限等,不涉及写的操作)

    构造方法
    File(String filename)
    File(String directoryPath,String filename)
    File(File dir, String filename)

    创建目录
    public boolean mkdir

    列出目录中的文件
    public String[] list()
    public File[] listFiles()
    删除文件
    public boolean delete()

    运行可执行的文件

    Runtime ec;  
    ec = Runtime.getRuntime();  
    ec.exec(String command);   
    
    • 输入流:读取文件
    • 输出流:写入文件
    • 文件字符输入、输出流:FileReader,FileWriter
    • 缓冲流:BufferedReaderBufferedWriter类创建的对象
    • 随机流:RandomAccessFile类创建的对象
    • 数组流:ByteArrayInputStreamByteArrayOutputStream创建的对象
    • 数据流: DataInoutStreamDataOutputStream类创建的对象
    • 对象流:ObjeatInputStreamObjectOutputStream类创建的对象
    • 序列化和对象克隆
    • 使用Scanner解析文件
    • 文件对话框
    • 带进度条的输入流
    • 文件锁

    教材学习中的问题和解决过程

    Q1:之前,有同学问我在虚拟机中,希腊字母怎么敲出,在这里说一下。
    A1:

    1. 点击虚拟机左上角的那个键盘图标
    2. 选择字母符号映射表
    3. 在左栏中下拉选择希腊字母
    4. 双击自己想敲的字母,复制粘贴就可以了
      如图所示

      运行结果如图所示

    Q2:在学习到,如图所示代码时,对于Exception的子类不是太懂,想了解Exception的子类都有哪些?

    A2:我搜了一下,原来教材中的NumberFormatException为字符的UTF代码数据格式有错引起异常而抛出的异常类,具体参考Exception的子类

    Q3:对于教材中的输入流和输出流,我想做一下总结。
    A3:

    名称 解释 构造方法 可调用方法
    文件字节输入流 使用FileInputStream创建的对象 FileInputStream(String name); FileInputStream(File file); int read()``````int read (byte b[]``````int read(byte b[],int off,int len)
    文件字节输出流 使用FileOutputStream创建的对象 FileOutputStream(String name); FileOutputStream(File file);``````FileOutputStream(String name,boolean append); FileOutputStream(File file,boolean append); void write(int n);``````void write(int n);``````void write(byte b[],int off,int len);

    代码调试中的问题和解决过程

    Q:(未解决)代码调试时,出现了如图所示情况,但不知道为何我的文件不可读,还希望大家帮忙解答一下。

    代码托管


    上周考试错题总结

    Q1:
    A1:A.应用this,super用来操作被隐藏的成员变量和方法,调用父类中的构造方法
    B.double的默认值是0.0
    D.方法相当于C语言中的函数

    Q2:
    A2:对于UML图,一般是用正常字体表示正常方法,斜体表示抽象方法。
    B项,用+表示public,用-表示private。D项,继承用一个带三角的直线表示,由子类指向父类

    其他(感悟、思考等,可选)

    本周的学习涉及了以前没有接触到的知识,就是异常类和流的概念,因为之前没有接触过,所以,接受起来较之前的知识,稍微慢些,但是,我的方法是先看娄老师给的网课,先听一下老师的介绍,然后自己再看教材,看看自己能否有新的理解与感悟,相信有这种方法,自己可以攻克这道难关。


    学习进度条

    ~ 代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第五周 2119/1500 1/2 46/90

    参考资料

    Exception的子类

  • 相关阅读:
    边工作边刷题:70天一遍leetcode: day 95
    边工作边刷题:70天一遍leetcode: day 96-2
    边工作边刷题:70天一遍leetcode: day 96-1
    边工作边刷题:70天一遍leetcode: day 96
    边工作边刷题:70天一遍leetcode: day 97-3
    边工作边刷题:70天一遍leetcode: day 97-2
    边工作边刷题:70天一遍leetcode: day 97-1
    边工作边刷题:70天一遍leetcode: day 97
    边工作边刷题:70天一遍leetcode: day 40
    边工作边刷题:70天一遍leetcode: day 41-3
  • 原文地址:https://www.cnblogs.com/20165203-xyx/p/8685995.html
Copyright © 2020-2023  润新知