教材学习内容总结

第七章

内部类

在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类
内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。

内部类的使用规则:

  • 声明内部类如同在类中声明方法或变量一样,一个类把内部类看作是自己的成员。
  • 外嵌类的类体中可以用内部类声明的对象,作为外嵌类的成员。
  • 外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。
  • 内部类的类体中不可以声明类变量和方法。
  • 外嵌类和内部类在编译时,生成两个.class文件。

匿名类

直接使用一个类的子类的类体创建一个子类对象。创建子类对象时,除了使用父类的构造方法外还有类体,此类体被认为是一个子类去掉类声明后的类体,称作匿名类。

异常类

所谓异常就是程序运行时可能出现一些错误,比如试图打开一个根本不存在的文件等,异常处理将会改变程序的控制流程,让程序有机会对错误作出处理。程序运行出现异常时,Java运行环境就用异常类Exception的相应子类创建一个异常对象,并等待处理。

try~catch语句

Java使用trycatch语句来处理异常,将可能出现的异常操作放在trycatch语句的try部分,将发生异常后的处理放在catch部分。

格式:

  try {
包含可能发生异常的语句
}
catch(ExceptionSubClass1 e) {

}
catch(ExceptionSubClass2 e) {

}

带finally子语句的try~catch语句,语法格式如下:

      try{}
catch(ExceptionSubClass e){ }
finally{}
其执行机制是在执行try~catch语句后,执行finally子语句,也就是说,无论在try部分是否发生过异常,finally子语句都会被执行。

第十章

文件的属性

  • File类的下列方法获取文件本身的一些信息。
  • public String getName() 获取文件的名字。
  • public boolean canRead() 判断文件是否是可读的。
  • public boolean canWrite() 判断文件是否可被写入。
  • public boolean exits() 判断文件是否存在。
  • public long length() 获取文件的长度(单位是字节)。
  • public String getAbsolutePath() 获取文件的绝对路径。
  • public String getParent() 获取文件的父目录。
  • public boolean isFile() 判断文件是否是一个普通文件,而不是目录。
  • public boolean isDirectroy() 判断文件是否是一个目录。
  • public boolean isHidden() 判断文件是否是隐藏文件。
  • public long lastModified() 获取文件最后修改的时间。

目录

1、创建目录 public boolean mkdir()
2、列出目录中的文件 :
- public String[] list() 用字符串形式返回目录下的全部文件。

  • public File [] listFiles() 用File对象形式返回目录下的全部文件。
  • public String[] list(FilenameFilter obj) 用字符串形式返回目录下的指定类型的所有文件。
  • public File [] listFiles(FilenameFilter obj) 用File对象形式返回目录下的指定类型所有文件。
  • 上述两方法的参数FilenameFilter是一个接口,该接口有一个方法:
    public boolean accept(File dir,String name);

文件的创建与删除

  • 创建文件:File file=new File("c:\\myletter","letter.txt");
    (如果c:\myletter目录中没有名字为letter.txt文件,文件对象file调用方法public boolean createNewFile();
  • 删除文件: public boolean delete()

文件字节输入流

java.io包提供了大量的流类,Java把InputStream抽象类的子类创建的流对象称作字节输入流;OutputStream抽象类的子类创建的流对象称作字节输出流。Java把Reader抽象类的子类创建的流对象称作字符输入流;Writer抽象类的子类创建的流对象称作字符输出流。

  • 使用输入流通常包括4个基本步骤:
    (1)设定输入流的源
    (2)创建指向源的输入流
    (3)让输入流读取源中的数据
    (4)关闭输入流。

  • 使用输出流通常包括4个基本步骤:
    (1)给出输出流的目的地
    (2)创建指向目的地的输出流
    (3)让输出流把数据写入到目的地
    (4)关闭输出流。

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

  • 问题1:运行Example7_2时提示错误。
  • 问题1解决方案:未注意代码分号位置及括号内代码范围。

代码托管

上周考试错题总结

  • 错题1:JDB调试,未能理解题意,课下练习不熟练。
  • 错题2:递归,代码未组合成功。为理解题意,独立组合代码练习不够。

结对及互评

感悟

随着课程深入,课程内容越来越难懂,特别是第十章内容,看懂很费劲,希望老师可以在课上多做些解释和实际操作实例。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 1/4 10/10
第二周 300/500 1/5 10/20
第三周 800/1300 1/6 20/40
第四周 700/2000 2/8 20/60
第五周 1100/ 3100 2/10 30 /90
第六周 / / /
第七周
第八周

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

  • 计划学习时间:30小时

  • 实际学习时间:30小时

参考资料

20165231 2017-2018-2 《Java程序设计》第5周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

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

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

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

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

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

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

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

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

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

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

随机推荐

  1. LInux Zebra

    本文章摘自linux公社 https://www.linuxidc.com/Linux/2015-07/120224p1.htm   写在前面 从22号中午开始琢磨zebra/quagga的用法,一直 ...

  2. 6.Hystrix-超时设置

    由于客户端请求服务端方法时,服务端方法响应超过1秒将会触发降级,所以我们可以配置Hystrix默认的超时配置 如果我们没有配置默认的超时时间,Hystrix将取default_executionTim ...

  3. HTML5-语义化标签

    article -- 解释 article标签装载显示一个独立的文章内容.例如一篇完整的论坛帖子,一则网站新闻,一篇博客文章等等,一个用户评论等等 artilce可以嵌套,则内层的artilce对外层 ...

  4. 【1】BIO,NIO,AIO与Reactor,Proactor

    讲解IO思路: BIO(一个连接一个线程) -->大并发问题-->NIO(操作系统层面:IO多路复用) -->NIO两个问题:1.谁去监听就绪(Boss),2.谁来处理已就绪(Wor ...

  5. 039、Data Volume 之 bind mount (2019-02-28 周四)

    参考https://www.cnblogs.com/CloudMan6/p/7142150.html     Date Volume 本质上是Dokcer host文件系统中的目录或者文件,能够直接被 ...

  6. 建立爬虫代理IP池

    单线程构建爬虫代理IP池 #!/usr/bin/python3.5 # -*- coding:utf-8 -*- import time import tempfile from lxml impor ...

  7. MyBatis SQL语句操作Mysql

    本文记录使用Mybatis操作数据库时碰到的一些语句,供以后参考. 一,多条件查询 示意SQL语句:SELECT t_field1, t_field2 FROM table_name WHERE t_ ...

  8. Mac 下搭建环境 homebrew/git/node.js/npm/vsCode...

    主要记录一下 homebrew/git/node.js/npm/mysql 的命令行安装 1. 首先安装 homebrew  也是一个包管理工具: mac 里打开终端命令行工具,粘下面一行回车安装br ...

  9. IPv6地址测试宏

  10. GCC编译器原理(二)------编译原理一:ELF文件(1)

    二.ELF 文件介绍 2.1 可执行文件格式综述 相对于其它文件类型,可执行文件可能是一个操作系统中最重要的文件类型,因为它们是完成操作的真正执行者.可执行文件的大小.运行速度.资源占用情况以及可扩展 ...