20165231 2017-2018-2 《Java程序设计》第5周学习总结
教材学习内容总结
第七章
内部类
在一个类中声明另一个类,这样的类称作内部类,而包含内部类的类成为内部类的外嵌类。
内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。
内部类的使用规则:
- 声明内部类如同在类中声明方法或变量一样,一个类把内部类看作是自己的成员。
- 外嵌类的类体中可以用内部类声明的对象,作为外嵌类的成员。
- 外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。
- 内部类的类体中不可以声明类变量和方法。
- 外嵌类和内部类在编译时,生成两个.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周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- 机器学习算法 Python&R 速查表
sklearn实战-乳腺癌细胞数据挖掘( 博主亲自录制) https://study.163.com/course/introduction.htm?courseId=1005269003&u ...
- python 微信爬虫实例
单线程版: import urllib.request import urllib.parse import urllib.error import re,time headers = (" ...
- Hbase学习04
3.2.4 反向时间戳 反向扫描API HBASE-4811(https://issues.apache.org/jira/browse/HBASE-4811)实现了一个API来扫描一个表或范围内的一 ...
- MyBatis-Configuration
一.引用 properties 配置文件 db.properties driver=com.mysql.cj.jdbc.Driver url=jdbc:mysql://192.168.8.136:33 ...
- git status -s命令解析
git status -s 以精简的方式显示文件状态. git status 输出的命令很详细,但有些繁琐. 如果用 git status -s 或 git status --short 命令,会得到 ...
- Redis 高可用分布式集群
一,高可用 高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响. 停止服务的原因可能由于网卡.路由器.机房.CPU负载过高.内存溢出.自然灾害等不可预期的原 ...
- ubuntu14.04 mysql数据库允许远程访问设置
安装mysql5.5 sudo apt-get install mysql-server-5.5 --------------------------------------------------- ...
- bzoj千题计划312:bzoj2119: 股市的预测(后缀数组+st表)
https://www.lydsy.com/JudgeOnline/problem.php?id=2119 题意:将给定数组差分后,求ABA形式的字串个数,要求|B|=m,|A|>0 1.后缀数 ...
- [Android] Android v4包CompoundButtonCompatLollipop.class重复问题
用 Butter Knife 8.8.1 导致v4包CompoundButtonCompatLollipop.class重复问题 详细错误如下: Error:Execution failed fo ...
- 【九】虚拟机工具 02 - jstat命令使用
java8jstat官方文档 jstat命令可以查看堆内存各部分的使用量,以及加载类的数量.命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意:使用的j ...