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


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

    教材学习内容总结

    • 异常处理 & Collection与Map 异常继承架构

    错误的对象继承java.lang.Throwable类,Throwable有两个子类Java.lang.Error与java.lang.Exceptions.

    a.Erroe与其子类实例表示严重系统错误。

    b.Exception与其子类实例是异常处理。

    必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。

    受检异常:一定要处理Exception,但不属于RuntimeException.

    非受检异常:程序不强迫处理。RuntimeException是客户端引发的,属于客户端有关修改的内容,如果一定要处理,建议是呈现友好信息。

    注:如果父类异常对象在子类异常对象前被捕捉,则catch子类异常对象区块将永远不会被执行。故先捕捉子类。

    try、catch语法

    在使用相关程序时会有许多错误,例如下列代码 这里尝试使用try、catch语法,发现JVM会尝试执行try区块中的程序代码,如果发生错误,就会跳离错误发生点比较catch括号中声明的类型,若符合被抛出错误对象类型。 try、catch语法可以捕捉try部分的异常:

    无try、catch语法时,出现异常的时候程序就会报错。

    使用try、catch语法时,出现异常时,程序可仍以正常运行,只是把错误信息存储到Exception里。

    即catch功能为提取异常信息。

    throw & throws

    方法设计流程出现异常时,可以用throws FileNotFoundException抛出异常,通过调用方法的客户端来处理。

    • Collection和Map架构

    Collection

    java.util.List接口中,记录每个对象的索引顺序,依照索引取回对象。

    java.util.Set接口中,收集对象不重复,并具有集合的行为。

    java.util.Queue接口中,收集对象时以队列方式,收集的对象加入尾端,取得对象时从前端。

    java.util.Deque接口中,对Queue 的两端进行加入、移除等操作。
    Map

    即是以键值对形式的存放数据的容器,主要以哈希Map作为其常用的实现类。Lambada和泛型

    Lambada

    该表达式主要功能为:简化匿名函数的写法,减轻程序员负担。
    泛型

    使用Collection收集对象时,由于收集对象的形态未知,因此内部操作时,都是使用object来参考被收集的对象,取回对象时也是以object类型返回。

    故若想针对某类定义的行为操作,必须告诉编译程序,让对象重新扮演该类型。JDK5之后增加了泛型语法。若接口支持泛型,在操作时也会比较方便,只要声明参考时有指定类型,那么创建对象时就不用再写类型了。

    泛型也可以仅定义在方法上,最常见的是在静态方法上定义泛型。

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

    • 使用JDB进行调试时查看源代码的命令是(list)。

    • "Hello".charAt(1) 的值是(‘e’)

    • 父类的protected方法,在子类中可以override为public的方法。(OK)

    • 面向对象中,设计经验可以用(设计模式)表达

    • 用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。

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

    public Test() throws RepletException {
    try {
      System.out.println("Test this Project!")
    }
    catch (Exception e) {
      throw new Exception(e.toString());
    }
      }
    
    • throw和throws有什么区别?

    系统自动抛出的异常

    所有系统定义的编译和运行异常都可以由系统自动抛出,称为标准异常,并且 Java 强烈地要求应用程序进行完整的异常处理,给用户友好的提示,或者修正后使程序继续执行。

    语句抛出的异常

    用户程序自定义的异常和应用程序特定的异常,必须借助于 throws 和 throw 语句来定义抛出异常。

    throw是语句抛出一个异常。

    语法:throw (异常对象);

    throw e;

    throws是方法可能抛出异常的声明。(用在声明方法时,表示该方法可能要抛出异常)

    语法:(修饰符)(方法名)([参数列表])[throws(异常类)]{......}

    public void doA(int a) throws Exception1,Exception3{......}

    网站:http://blog.csdn.net/hhy62011980/article/details/5548278

    上周考试错题总结

    • 使用JDB进行调试时查看源代码的命令是(list)。

    • "Hello".charAt(1) 的值是(‘e’)

    • 父类的protected方法,在子类中可以override为public的方法。(OK)

    • 面向对象中,设计经验可以用(设计模式)表达

    • 用enum定义一个Season的类型表示四季(public enum Season{SPRING, SUMMER, AUTUMN,WINTER})。

    • 参考示例

    学习进度条

    代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
    目标 5000行 30篇 400小时
    第一周 200/200 2/2 20/20
    第二周 300/500 2/4 18/38
    第三周 500/1000 3/7 22/60
    第四周 300/1300 2/9 30/90

    尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。
    耗时估计的公式
    :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

    参考:软件工程软件的估计为什么这么难软件工程 估计方法

    • 计划学习时间:10小时

    • 实际学习时间:6小时

    • 改进情况:

    (有空多看看现代软件工程 课件
    软件工程师能力自我评价表
    )

    参考资料

  • 相关阅读:
    tomcat监控
    rsync排除文件同步
    [转载]centos7 快速安装 mariadb(mysql)
    linux下的头文件和库文件搜索路径 (转)
    用apt-get install一个软件的时候出现错误: 无法解析或打开软件包的列表或是状态文件
    模拟一个简单的基于tcp的远程关机程序(转)
    TCP连接的建立以及利用tcpdump分析连接建立的过程(转)
    UNIX网络编程(转载)
    开源代码网站(转)
    学了5天Arm,今天谈谈初学感受 (转)
  • 原文地址:https://www.cnblogs.com/liuyiyang/p/6623928.html
Copyright © 2020-2023  润新知