# 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
  • 文件字节输入、输出流:InputStreamOutputStream
  • 文件字符输入、输出流:FileReaderFileWriter
  • 缓冲流:BufferedReaderBufferedWriter
  • 随机流:RandomAccessFile
  • 数组流:
    • 字节数组流:ByteArrayInputStreamByteArrayOutputStream
    • 字符数组流:CharArrayInputStreamCharArrayOutputStream
  • 数据流:DataInputStreamDataOutputStream
  • 对象流:ObjectInputStreamObjectOutputStream
  • 序列化对象克隆
  • Scanner解析文件
    - 默认分隔符:空格
    - 自定义分隔符:正则表达式
  • 文件对话框
  • 带进度条的输入流
  • 文件锁

教材学习中的问题和解决过程

  • Mac与Windows有所不同,代码有时没法运行

    解决过程:根据Mac的路径等修改代码

  • 跳过几章内容,有的代码不是很理解

    查看工作文档或者上网搜索,进行学习标注

  • 输入流、输出流众多,有时会进行混淆

    回头查看书本内容,多次记忆辨析

代码托管

上周考试错题总结

  • 测试完成后补充

20165310 java_blog_week5的更多相关文章

  1. 20165310 NetSec2019 Week6 Exp4 恶意代码分析

    20165310 NetSec2019 Week6 Exp4 恶意代码分析 一.实验要求 1.系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间 ...

  2. 20165310 NetSec2019 Week5 Exp3 免杀原理与实践

    20165310 NetSec2019 Week5 Exp3 免杀原理与实践 一.免杀原理 杀软是如何检测出恶意代码的 基于特征码的检测:特征码就是一段恶意程序有但是正常程序没有的一段代码,当杀软检测 ...

  3. 20165310 NetSec Week4 Exp2 后门原理与实践

    20165310 NetSec Exp2后门原理与实践 一.基础问题 例举你能想到的一个后门进入到你系统中的可能方式? 网页木马等访问网页导致 下载非官方源软件 随意下载邮件中不明程序等 例举你知道的 ...

  4. 20165310 NstSec2019 Week3 Exp1 逆向与Bof基础

    20165310 NstSec2019 Week3 Exp1 逆向与Bof基础 一.实验内容 实验目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用fo ...

  5. 20165310 NstSec2019 Week1 Exp0 Kali安装

    20165310 NstSec2019 Week1 Exp0 Kali安装 Kali下载与安装 进入Kali官网 ,进入Download选项,选择Kali Linux 64 bit VMware VM ...

  6. 20165310 《Java程序设计》课程总结

    20165310 <Java程序设计>课程总结 一.每周作业及实验报告博客链接汇总 预备作业一:我期望的师生关系 20165310 我期望的师生关系 预备作业二:学习基础和C语言基础调查 ...

  7. 20165310 Java实验四 《Android程序设计》

    20165310 实验四 <Android程序设计> 第24章:初识Android 任务一:改写res目录中的内容,Hello World后要显示自己的学号,自己学号前后一名同学的学号 首 ...

  8. 20165310 Java实验五《网络编程与安全》

    20165310 Java实验五<网络编程与安全> 任务一 题目:①编写MyBC.java实现中缀表达式转后缀表达式的功能:②编写MyDC.java实现从上面功能中获取的表达式中实现后缀表 ...

  9. 20165310 学习基础和C语言基础调查

    学习基础和C语言基础调查 做中学体会 阅读做中学之后,了解老师关于五笔练习.减肥.乒乓和背单词的经历,不禁联想到自己学古筝的经历. 成功的经验 兴趣 我其实小时候学过一段时间古筝,但是那时候是因为父母 ...

随机推荐

  1. 卸载重装ArcGIS Enterprise 注意事项

    ArcGIS Enterprise ,通俗的讲,即“ArcGIS Server 10.5+ 版本” 强烈建议参考文档: windows环境安装ArcGIS Enterprise ,http://zhi ...

  2. linux桌面与命令模式切换

    在图形下面按Ctrl+alt+F1(F2\F3\F4)进入命令模式 在命令模式下,按Ctrl+alt+F7回到图形,或登录用户输入startx进入图形!

  3. .NET基于分页控件实现真分页功能

    下面利用分页控件实现分页功能.分页控件下载网址:http://www.webdiyer.com/ 从该网址下载AspNetPager.dll后,在VS2008中在工具箱中,右键 —> 选择项 — ...

  4. python中操作mysql

    import pymysql # 连接数据库 connect = pymysql.Connect( host='localhost', port=3306, user='root', passwd=' ...

  5. laravel教程入门笔记

    安装laravel框架 1.安装命令 composer create-project --prefer-dist laravel/laravel ytkah ytkah表示文件夹名,如果不写的话自动会 ...

  6. ubuntu,windows 卸载安装mysql

    首先删除mysql: sudo apt-get remove mysql-* 1 然后清理残留的数据 dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dp ...

  7. [py]django第三方分页器django-pure-pagination实战

    第三方分页模块: django-pure-pagination 是基于django的pagination做的一款更好用的分页器 参考 配置django-pure-pagination模块 安装 pip ...

  8. (转)es进行聚合操作时提示Fielddata is disabled on text fields by default

    根据es官网的文档执行 GET /megacorp/employee/_search { "aggs": { "all_interests": { " ...

  9. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  10. pycharm + git 的集成使用

    1. 下载git 和Pycharm并安装 2. 打开Pycharm,  点击 file-->Default Settins-->Version Control-->Git 然后在 P ...