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

教材学习内容总结

第八章

8.1语法与继承架构

8.1.1使用try,catch

所有的错误都会被打包为对象,使用try,catch可以对错误进行一些后期处理,使得错误发生时显示更友好的错误信息。

如果发生错误,执行流程会跳离错误发生点,然后比较catch中声明的类型,如果符合就执行catch中语句。

8.1.2异常继承架构

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

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

  2. Exception与其子类实例是异常处理。必须明确使用try,catch语法加以处理,或者用throw声明这个方法会抛出异常,否则会编译失败。

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

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

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

多重捕捉语法:区块内容重复时使用。(不得有继承)

8.1.3要抓还是要抛

throw:如果抛出受检异常,但是以面前信息无法处理异常,可有客户端依据当时调用的环境信息进行处,使用throw声明。

如果是非受检异常,应该改善程序逻辑来避免引发错误。

在catch区块中进行完部分错误处理以后,可以使用throw将异常再抛出。如果抛出的是受检异常,必须在方法上使用throw声明.

可以使用异常继承,子类可以重新定义异常。

8.1.4

Java使用受检异常的目的是文件化和提供编程信息。

8.1.5

若想得知异常发生的根源,以及多重方法调用下的堆栈传播,可以利用异常对象自动收集的堆栈追踪来取得相关信息。

printStackTrace()

堆栈信息中显示了异常类型,最顶层的是异常根源,以下是调用的顺序。

如下:

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:20)
at StackTraceDemo.b(StackTraceDemo.java:16)
at StackTraceDemo.c(StackTraceDemo.java:13)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)java:14)
at StackTraceDemo.main(StackTraceDemo.java:7)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

java.lang.NullPointerException

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:144)

可以使用fillInStackTrace()方法将起点设在重抛异常的地方。

java.lang.NullPointerException

at StackTraceDemo.a(StackTraceDemo.java:26)
at StackTraceDemo.b(StackTraceDemo.java:22)
at StackTraceDemo.c(StackTraceDemo. at StackTraceDemo.c(StackTraceDemo.java:17)
at StackTraceDemo.main(StackTraceDemo.java:7)

第九章

9.1使用collection与Map

9.1.1认识架构

收集对象时,会依据需求使用不同的接口操作对象。

9.1.2索引List

  1. ArrayList特性:数组特性
  2. LinkedList特性:连接结构

9.1.3 Set

若有重复,则不再收集

9.1.4 Queue

收集的对象加入尾端,取得对象时从前端。

9.1.5泛型语法

表示支持泛型

9.1.6简介lambda

键值对应的MAP

根据某个键来取得对应的值

常用MAP操作类

  1. HashMap
  2. TreeMap
  3. Properties

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

没有什么问题。。。

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

本周代码托管截图

加入小组应该就不用放截图了吧

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

感觉现在还是跟着书上走,照着书上的代码打,虽然能看懂,但是完全不会自己编。

学习进度条

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

参考资料

20145315 《Java程序设计》第五周学习总结的更多相关文章

  1. 201521123025<java程序设计>第五周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...

  2. Java程序设计第五周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...

  3. 20145315 《Java程序设计》第九周学习总结

    20145315 <Java程序设计>第九周学习总结 教材学习内容总结 第16章--整合数据库 16.1.1JDBC简介 应用程序通过通信协议对数据库进行指令交换,以进行对数据的的增删查找 ...

  4. 20145315 《Java程序设计》第二周学习总结

    20145315 <Java程序设计>第二周学习总结 教材学习内容总结 类型 类型:整数分为short,int,long形. 字节:长度为一字节. 浮点数:储存小数,float和doubl ...

  5. 20145315 《Java程序设计》第一周学习总结

    20145315 <Java程序设计>第一周学习总结 教材学习内容总结 第一章 java原来以橡树为名,后来才改成java,灵感是咖啡. 作者戏称JDK为java developer ki ...

  6. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  7. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  8. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  9. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  10. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

随机推荐

  1. 关于wcf三大工具的使用(wsdl.exe svcutil.exe disco.exe)

    首先,我们必须创建一个wcf服务.并部署到IIS中.这里我已经将一个StudentService服务部署到我自己的电脑了. (1)svcutil.exe svcutil.exe工具的作用是通过服务地址 ...

  2. Appium中长按按钮操作

    在一次项目中,appium要对某个按钮进行长按操作(大于2s),类似拍微信小视频,参考网上长按视频会报错 action1 = TouchActions(self.driver) el = self.d ...

  3. 重新来认识你的老朋友Spring框架

    欢迎查看Java开发之上帝之眼系列教程,如果您正在为Java后端庞大的体系所困扰,如果您正在为各种繁出不穷的技术和各种框架所迷茫,那么本系列文章将带您窥探Java庞大的体系.本系列教程希望您能站在上帝 ...

  4. Javascript一(变量,数据类型,正则表达式,数据,语句)

    本文章适合具有一定程序编程语言基础的人士阅读,最好学完Java基础再来阅读本文章更容易理解语言初学者会看起来比较费劲,不易理解 一.导入脚本 在html导入Javascript的格式是: <sc ...

  5. Nexus私有仓库简介

    1.    Nexus中的仓库 1.1  类型介绍 登陆Nexus,在左边菜单栏里选择Repositories,然后会出现右边的画面,右边上半部分是列出来的repository,黑体字是类型为grou ...

  6. 03Del.ashx(删除班级)

    03Del.ashx 数据库里定义个BOOL型,TRUE表示正常FALSE表示删除 using System; using System.Collections.Generic; using Syst ...

  7. poj3630 Phone List【Trie树】

    Phone List Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 34805   Accepted: 9980 Descr ...

  8. JavaCSV之写CSV文件

    与JavaCSV读CSV文件相对应,JavaCSV也可以用来写数据到CSV文件中. 1.准备工作 (1)第三方包库下载地址:https://sourceforge.net/projects/javac ...

  9. 2.5 – Garbage Collection 自动垃圾回收 Stop-the-world vs. incremental vs. concurrent 垃圾回收策略

    2.5 – Garbage Collection  自动垃圾回收 Lua 5.3 Reference Manual http://www.lua.org/manual/5.3/manual.html# ...

  10. 对10进制16位长的主键的缩短处理 NULL

    # 对问题表去除旧有主键,新建自增主键:ALTER TABLE `question`CHANGE COLUMN `id` `id16` bigint(20) NULL COMMENT 'id_to_d ...