20165310 java_blog_week5
# 2165310 《Java程序设计》第5周学习总结
教材学习内容总结
ch07内部类与异常类
内部类
- 继承外嵌类成员变量与方法
- 不可以声明类变量/类方法
- 不可以被外嵌类以外的类调用,外嵌类可以通过它声明对象作为成员
- 可以被static修饰,但是不能调用外嵌类实例成员变量。(非内部类不可以用static修饰)- 匿名类
- 和子类有关的匿名类:是一个子类,不能用于声明对象但是可以直接创建对象。
- 和接口有关的匿名类:必须重写类名中的全部方法 - 异常类
-try-catch语句:异常类可以调用public String getMessage();、public void printStackTrace();、public String toString();获取有关异常信息。
- 自定义异常类:扩展extends类自定义异常类,声明方法时,用throws声明要产生的若干异常,创建异常对象,用throw抛出该异常对象。 断言:
- 语法:assert booleanExpression;或者assert booleanExpression:messageException;
- 启用与关闭断言语句:java -ea mainClass
I/O流
- 总体:引入
java.io包,所有输入流都是ImputStream(字节输入流)或Reader(字符输入流)的子类,所有输出流都是OutputStream(字节输出流)或Writer(字符输出流)的子类。 - File类:
- 不涉及对文件的读写操作
- 文件属性:利用相关函数可以获得文件相关信息,具体函数见书p282。
- 目录:
1. 创建目录:public boolean mkdir()
2. 列出目录下文件与子目录:public String[] list(),public File[] listFiles()
3. 返回目录下指定类型文件:public String[] list(FilenameFilter),public File[] listFiles(FilenameFilter),其中通过重写FilenameFilter接口的方法public boolean accept(File dir,String name);并调用。
- 运行可执行文件:Runtime类 - 文件字节输入、输出流:
InputStream与OutputStream类 - 文件字符输入、输出流:
FileReader与FileWriter类 - 缓冲流:
BufferedReader与BufferedWriter类 - 随机流:
RandomAccessFile类 - 数组流:
- 字节数组流:
ByteArrayInputStream和ByteArrayOutputStream类 - 字符数组流:
CharArrayInputStream和CharArrayOutputStream类
- 字节数组流:
- 数据流:
DataInputStream和DataOutputStream类 - 对象流:
ObjectInputStream和ObjectOutputStream类 - 序列化对象克隆
Scanner解析文件
- 默认分隔符:空格
- 自定义分隔符:正则表达式- 文件对话框
- 带进度条的输入流
- 文件锁
教材学习中的问题和解决过程
Mac与Windows有所不同,代码有时没法运行
解决过程:根据Mac的路径等修改代码
跳过几章内容,有的代码不是很理解
查看工作文档或者上网搜索,进行学习标注
输入流、输出流众多,有时会进行混淆
回头查看书本内容,多次记忆辨析
代码托管



上周考试错题总结
- 测试完成后补充
20165310 java_blog_week5的更多相关文章
- 20165310 NetSec2019 Week6 Exp4 恶意代码分析
20165310 NetSec2019 Week6 Exp4 恶意代码分析 一.实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...
- 20165310 NetSec2019 Week5 Exp3 免杀原理与实践
20165310 NetSec2019 Week5 Exp3 免杀原理与实践 一.免杀原理 杀软是如何检测出恶意代码的 基于特征码的检测:特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测 ...
- 20165310 NetSec Week4 Exp2 后门原理与实践
20165310 NetSec Exp2后门原理与实践 一.基础问题 例举你能想到的一个后门进入到你系统中的可能方式? 网页木马等访问网页导致 下载非官方源软件 随意下载邮件中不明程序等 例举你知道的 ...
- 20165310 NstSec2019 Week3 Exp1 逆向与Bof基础
20165310 NstSec2019 Week3 Exp1 逆向与Bof基础 一.实验内容 实验目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用fo ...
- 20165310 NstSec2019 Week1 Exp0 Kali安装
20165310 NstSec2019 Week1 Exp0 Kali安装 Kali下载与安装 进入Kali官网 ,进入Download选项,选择Kali Linux 64 bit VMware VM ...
- 20165310 《Java程序设计》课程总结
20165310 <Java程序设计>课程总结 一.每周作业及实验报告博客链接汇总 预备作业一:我期望的师生关系 20165310 我期望的师生关系 预备作业二:学习基础和C语言基础调查 ...
- 20165310 Java实验四 《Android程序设计》
20165310 实验四 <Android程序设计> 第24章:初识Android 任务一:改写res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号 首 ...
- 20165310 Java实验五《网络编程与安全》
20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...
- 20165310 学习基础和C语言基础调查
学习基础和C语言基础调查 做中学体会 阅读做中学之后,了解老师关于五笔练习.减肥.乒乓和背单词的经历,不禁联想到自己学古筝的经历. 成功的经验 兴趣 我其实小时候学过一段时间古筝,但是那时候是因为父母 ...
随机推荐
- 卸载重装ArcGIS Enterprise 注意事项
ArcGIS Enterprise ,通俗的讲,即“ArcGIS Server 10.5+ 版本” 强烈建议参考文档: windows环境安装ArcGIS Enterprise ,http://zhi ...
- linux桌面与命令模式切换
在图形下面按Ctrl+alt+F1(F2\F3\F4)进入命令模式 在命令模式下,按Ctrl+alt+F7回到图形,或登录用户输入startx进入图形!
- .NET基于分页控件实现真分页功能
下面利用分页控件实现分页功能.分页控件下载网址:http://www.webdiyer.com/ 从该网址下载AspNetPager.dll后,在VS2008中在工具箱中,右键 —> 选择项 — ...
- python中操作mysql
import pymysql # 连接数据库 connect = pymysql.Connect( host='localhost', port=3306, user='root', passwd=' ...
- laravel教程入门笔记
安装laravel框架 1.安装命令 composer create-project --prefer-dist laravel/laravel ytkah ytkah表示文件夹名,如果不写的话自动会 ...
- ubuntu,windows 卸载安装mysql
首先删除mysql: sudo apt-get remove mysql-* 1 然后清理残留的数据 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dp ...
- [py]django第三方分页器django-pure-pagination实战
第三方分页模块: django-pure-pagination 是基于django的pagination做的一款更好用的分页器 参考 配置django-pure-pagination模块 安装 pip ...
- (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
根据es官网的文档执行 GET /megacorp/employee/_search { "aggs": { "all_interests": { " ...
- windows下编译和安装boost库
boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...
- pycharm + git 的集成使用
1. 下载git 和Pycharm并安装 2. 打开Pycharm, 点击 file-->Default Settins-->Version Control-->Git 然后在 P ...