• 20165215 2017-2018-2 《Java程序设计》第5周学习总结


    20165215 2017-2018-2 《Java程序设计》第5周学习总结

    教材学习内容总结

    chapter7

    • Java支持在一个类中声明另外一个类,这样的类称作内部类,而包含内部类的类称为内部类的外嵌类

      • 内部类的类体中不可以声明类变量和类方法
      • 内部类可以被修饰为static内部类,但static内部类不能操作外嵌类中的实例变量成员
    • 和某类/接口有关的匿名类就是该类的一个子类,该子类没有明显地用类声明来定义,所以称作匿名类

      • 匿名类一定是内部类
    • 异常类

      • Java使用关键字throw抛出一个Exception子类的实例表示异常发生
      • 将可能出现的异常操作放在try-catch语句的try部分,一旦try部分抛出异常对象,那么try部分将立刻结束执行,转向执行相应的catch部分
      • 一个方法在声明时可以采用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作
    • 使用关键字assert声明断言语句

      • Java解释器直接运行应用程序时,默认地关闭断言语句,在调试程序时可以使用-ea启用断言预计
    • 在try-catch语句中执行了return语句,那么finally子语句仍然会被执行;若执行了System.exit(0);,则不执行finally子语句

    chapter10

    • File类的对象主要是用来获取文件本身的一些信息,不涉及对文件的读写操作
    • 文件字节输入、输出流的四个基本步骤
      • 程序必须在try-catch语句中的try部分创建输入/输出流,在catch部分检测并处理这个异常
      • 文件中的读取或写入,每次都是顺序进行,直到流被关闭或结束
    • 文件字符输入、输出流基本与字节输入、输出同理
    • 使用BufferReader流的方法readLine()读取文本行;使用BufferedReader类的方法write(String s,int off,int len)把字符串s写到写入文件。
    • 用RandomAccessFile类创建的流称作随机流,随机流即可以作为流的源,也可以作为流的目的地
      • RandomAccessFile流指向文件时,不刷新文件
      • 其它方法:seek(long a);getFilePointer()
    • 使用对象流获取序列化对象的克隆
    • 使用Scanner类和正则表达式来解析文件的特点是以时间换取空间,即解析的速度相对较慢,但节省内存
      • 使用默认分隔标记解析文件
      • 使用useDelimiter方法指定正则表达式作为分隔标记

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

    • 问题1:教材p167

    异常对象可以调用如下方法得到或输出有关异常的信息

    > public String getMessage();
    > public void printStackTrace();
    > public String toString();
    

    这三种方法的输出结果有什么差别?

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

    • 问题1:ch7例子4中出现如下问题

    • 问题1解决方案:将catch语句后漏掉的 { 补上即可

    • 问题2:ch10例子1中编译结果出现偏差

    • 问题2解决方案:将源文件中File f = new File("java-besti-is-20165215/src/chapter10","Example10_1.java");改为File f =new File(".","Example10_1.java");后运行结果如下

    • 问题3:编译ch10例子2时出现如下错误

    • 问题3解决方案:出现fileName的位置统一好大小写;将extendName中漏掉的d补上

    代码托管

    (statistics.sh脚本的运行结果截图)

    上周考试错题总结

    • 对成员变量的操作只能放在方法中;面向对象语言中的“方法”相当于C语言中的“函数”。
    • UML类图中方法的属性用+表示public,用-表示privat;继承用一个带三角的直线表示,由子类指向父类。
    • Java程序以类为基本单位
    • p72页例子8中圆锥对象委托圆对象调用getArea()方法计算底的面积
    • 不能用protected和private修饰类

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 37/37 1/1 15/15
    第二周 398/429 2/3 15/30
    第三周 753/1167 1/4 20/50
    第四周 1296/2109 2/6 20/70
    第五周 1191/3323 2/8 20/90

    参考资料

  • 相关阅读:
    在mysql中计算百分比
    给指定的div增加滚动条
    Java高效编程之三【类和接口】
    Linux(CentOS) 如何查看当前占用CPU或内存最多的K个进程
    MapReduce:详解Shuffle过程
    Java高效编程之二【对所有对象都通用的方法】
    Java高效编程之一【创建和销毁对象】
    ANT命令总结(转载)
    linux 压缩文件的命令总结
    Cloudera CDH 、Impala本地通过Parcel安装配置详解
  • 原文地址:https://www.cnblogs.com/fyss/p/8688663.html
Copyright © 2020-2023  润新知