教材学习内容总结

第七章
  • 内部类

    注意内部类和外嵌类的关系:
  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的子类

20165203《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. 20165203《Java程序设计》第九周学习总结

    20165203<Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用 ...

  4. 20165203 2017-2018-2 《Java程序设计》第一周学习总结

    20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...

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

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

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

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

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

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

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

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

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

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

  10. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

随机推荐

  1. linux命令总结之ip命令

    Linux的ip命令和ifconfig类似,但前者功能更强大,并旨在取代后者.使用ip命令,只需一个命令,你就能很轻松地执行一些网络管理任务.ifconfig是net-tools中已被废弃使用的一个命 ...

  2. day10 浅谈面向对象编程

    面向对象编程:第一步找名词,名词是问题域中的. 第二步概括名词设计成类.某些名词可以浓缩包含到其它名词中,成为其属性. 第三步找动词,动词也是问题域中的.   第四步概括动词设计成方法.动作的产生往往 ...

  3. IOS艺术字及简单的图文混排

    NSString* alertText = [NSString stringWithFormat:@" 以下%d节课程(总课酬¥%.02lf)家长们尚未结课并评价,请尽快联系家长,否则无法获 ...

  4. 新建springboot项目启动出错 Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured.

    错误信息入下: 2018-06-23 01:48:05.275 INFO 7104 --- [ main] o.apache.catalina.core.StandardService : Stopp ...

  5. Java并发编程原理与实战四十一:重排序 和 happens-before

    一.概念理解 首先我们先来了解一下什么是重排序:重排序是指编译器和处理器为了优化程序性能而对指令序列进行重新排序的一种手段. 从Java源代码到最终实际执行的指令序列,会分别经历下面3种重排序,如下图 ...

  6. 取消IE下的叉

    之前写项目的时候碰到一个小问题,因为IE下的那个叉触发不了我的change事件,所以只好把IE给加上去的那个叉去了,在此记录一下. ::-ms-clear{display:none;} ::-ms-r ...

  7. XML学习(1)

    什么是XML? XML是可拓展标记语言,类似HTML,它的设计宗旨是为了传输数据,而不是像HTML那样显示数据.XML标签没有被预定义,需要用户自定义标签. xml文档必须包含根元素,它是其他所有元素 ...

  8. Python入门系列教程(六)面向对象

    1.self 所谓的self,可以理解为自己,可以把它当做C++中类里面的this指针一样理解,就是对象自身的意思,在用某个对象调用该方法时,就将该对象作为第一个参数传递给self. 2.class ...

  9. asp.net菜鸟到中级程序员的飞跃 --30本好书点评

    如果你是一个菜鸟或者自认为初学者那么本文非常适合你:不能说这30本书就是最佳组合,但是可以说这个组合不差:本人曾博览群书,很多书重复,很多书讲的不适用,这些书都是目前书店可以买到的:达到中级程序员以后 ...

  10. java 连接Kafka报错java.nio.channels.ClosedChannelExcep

    Java 客户端连接Kafka报如下错误 java.nio.channels.ClosedChannelExcep 是由于Kafka server.properties中的advertised.hos ...