20165203《Java程序设计》第五周学习总结
教材学习内容总结
第七章
- 内部类
注意内部类和外嵌类的关系:
- 外嵌类的成员变量和方法在内部类有效
- 内部类的类体不可以声明
static变量和方法。外嵌类的类体可以用内部类声明对象。 - 内部类仅供它的外嵌类使用,其他类不可以。
- 匿名类
- 直接使用子类的类体创建一个子类对象。
- 匿名类可以继承父类的方法也可以重写父类的方法。
- 匿名类一定是内部类。
- 匿名类可以访问外嵌类中的成员变量和方法,但自身类体不可以有
static成员变量和方法。 - 用匿名类创建对象时,要直接使用父类的构造方法。
- 和接口有关的匿名类:如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法参数,类名必须要重写接口中的全部方法。
- 异常类 (
try-catch语句)
try-catch语句的格式:
try {
包含可能发生异常的语句
}
catch (ExceptionSubClass1 e){
···
}
catch(ExceptionSubClass2 e){
···
}
注意:
1.各个catch参数的异常类都是Exception的某个子类,表明try部分可能发生的异常,且子类之间不能有父子关系,否则只保留一个即可。
2.也可以自定义异常类。
- 断言(
assert语句)
- 断言语句的语法格式
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 - 缓冲流:
BufferedReader和BufferedWriter类创建的对象 - 随机流:
RandomAccessFile类创建的对象 - 数组流:
ByteArrayInputStream和ByteArrayOutputStream创建的对象 - 数据流:
DataInoutStream和DataOutputStream类创建的对象 - 对象流:
ObjeatInputStream和ObjectOutputStream类创建的对象 - 序列化和对象克隆
- 使用
Scanner解析文件 - 文件对话框
- 带进度条的输入流
- 文件锁
教材学习中的问题和解决过程
Q1:之前,有同学问我在虚拟机中,希腊字母怎么敲出,在这里说一下。
A1:
- 点击虚拟机左上角的那个键盘图标
- 选择字母符号映射表
- 在左栏中下拉选择希腊字母
- 双击自己想敲的字母,复制粘贴就可以了
如图所示

运行结果如图所示

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 |
参考资料
20165203《Java程序设计》第五周学习总结的更多相关文章
- 201521123025<java程序设计>第五周学习总结
1. 本周学习总结 2. 书面作业 1.代码阅读:Child压缩包内源代码 1.1 com.parent包中Child.java文件能否编译通过?哪句会出现错误?试改正该错误.并分析输出结果. 1.2 ...
- Java程序设计第五周学习总结
1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点. 1.2 可选:使用常规方法总结其他上课内容. 2. 书面作业 **代码阅读:Child压缩包内源代码 Child.java源代 ...
- 20165203《Java程序设计》第九周学习总结
20165203<Java程序设计>第九周学习总结 教材学习内容总结 URL类 URL类是java.net包中的一个重要的类,URL的实例封装着一个统一资源定位符,使用URL创建对象的应用 ...
- 20165203 2017-2018-2 《Java程序设计》第一周学习总结
20165203 2017-2018-2<Java程序设计>第一周学习总结 教材学习内容总结 (一)Java的地位 Java是面向对象编程,并涉及网络.多线程等重要的基础知识,是一门很好的 ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
随机推荐
- 【Asp.net入门02】搭建Asp.net开发环境
本节主要讲解: 什么是asp.net asp.net开发和运行环境介绍 1.什么是ASP.NET Asp.net不是一种编程语言,而是一种开发技术.我们可以利用这种技术所提供的类库,使用C#或者VB编 ...
- python 导入自定义模块
1. 2.
- python---权限管理和菜单生成
一:表结构(共八张表) from django.db import models # Create your models here. class User(models.Model): userna ...
- C语言程序设计50例(经典收藏)
本篇文章是对C语言程序设计的50个小案例进行了详细的分析介绍,需要的朋友参考下 [程序1]题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位.十 ...
- memset函数使用详解
1.void *memset(void *s,int c,size_t n) 总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c. 2.例子#include void main(){cha ...
- 回调函数之基本的Promise
在 JavaScript 中,所有的代码都是单线程的,所谓的回调函数就是为了处理一些异步的操作.而多层的回调函数嵌套是一种比较古老的处理方式,这种代码的弊端显而易见,结构混乱.代码冗余,而 Promi ...
- [转载]strtok函数和strtok_r函数
1.一个应用实例 网络上一个比较经典的例子是将字符串切分,存入结构体中.如,现有结构体 typedef struct person{ char name[25]; char sex[1 ...
- 【leetcode 简单】 第九十九题 字符串相加
给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和. 注意: num1 和num2 的长度都小于 5100. num1 和num2 都只包含数字 0-9. num1 和num2 都不包 ...
- java保存json格式数据,保存字符串和读取字符串
1.java保存json格式数据,保存字符串和读取字符串 import java.io.*; class RWJson { public void wiite(String s, String toS ...
- 工具推荐:ATSCAN,功能强大的Perl脚本扫描器
工具推荐:ATSCAN,功能强大的Perl脚本扫描器 使用perl语言编写的开源的扫描器,功能丰富强大,除了基本的tcp和udp端口扫描之外,还可以搜索wordpress.joomla等网站并进行口令 ...
