20175226 2018-2019-2 《Java程序设计》第六周学习总结
20175226 2018-2019-2 《Java程序设计》第六周学习总结
教材学习内容总结
内部类与异常类
- 内部类:Java支持在一个类中定义另一个类(可以是static类)
- 外嵌类的成员变量、方法在内部类中都有效、可调用
- 内部类中不可以声明类变量和类方法,外嵌类的可以用内部类声明对象
- 其他类不可用别类的内部类
- 匿名类:直接使用一个类的子类的类体创造一个子类对象(不可以声明static方法或对象)
- 匿名类可以继承重写父类方法
- 匿名类是内部类
- 需要直接使用父类的构造方法
new 父类名() { 匿名类类体 }
- 和接口有关的匿名类
- 允许直接用接口名和一个类体创造一个匿名对象
- 语法:
new 接口名() { 实现接口的匿名类的类体 }
- 异常类
- 输出异常信息
public String getMessage();
public void printStackTrace();
public String toString();
- try-catch语句
- 语句
try {
包含可能异常的语句
}
catch(ExceptionSuClass1 e) {
....
}
catch(ExceptionSuClass2 e) {
....
}
- 利用Exception类定义自己的异常类
- 断言
- 语法格式
assert booleanExpression;
assert booleanExpression:messageException;
- 启动断言语句,使用``-ae``语句
输入、输出流
- File类
- 其对象用于获取文件本身信息,不涉及文件读写
- 构造方法
File(String filename);
File(String directoryPath,String filename);
File(File dir,String filename);
- 可以使用File进行获取某些信息
- 创建目录``public boolean mkdir ()``
- 可以调用某些方法列出文件目录中的文件
- 文件创造``public boolen createNewFile``、文件删除``public boolen delete``
- 运行可执行文件``Runtime``
- 文件字节输入流
- 设定输入流的源
- 创建指向源的输入流
- 创造方法
FileInputStream(String name);
FileInputStream(File file);
- 让输入流读取源中的数据(利用read方法顺序读取其中的内容)
- 关闭输入流(关闭方法close)
- 文件字节输出流
- 设定输出流的目的地
- 创建指向目的地的输出流
- 创造方法
FileOutputStream(String name);
FileOutputStream(File file);
- 使用输出流写字节(利用write方法写入文件)
- 关闭输出流(关闭方法close)
- 文件字符的输入输出流
- 使用
read
和write
方法,以字符为基本单位处理数据
- 使用
- 缓冲流
BufferedReader
和BufferedWriter
类创建对象在读取和写入上增加了很多功能,更加方便
- 随机流
RandomAccessFile
类既可以用来读取也可以用来写入
RandomAccessFile(String name,String mode);
RandomAccessFile(File file,String mode);
- mode 取r(只读)或rw(可读写)
- 有很多常用方法**教材p293-p294**
- 数组流
- 流的源头目的地还可以是计算机内存
- 字节数据流几个构造方法
ByteArrayInputStream(byte[] buf);
ByteArrayInputStream(byte[] buf,int offset,int length);
ByteArrayInputStream(byte[] buf);
ByteArrayInputStream(byte[] buf);
- 字符数组流``CharArrayReader``和``CharArrayWirte``
- 数据流
- 数据输入输出流构造方法
DataInputStream(InputStream in)
DataOutputStream(OutputStream in)
- 此类的部分常用方法**教材p297**
- 对象流
- 构造方法
ObjectInputStream(InputStream in)
ObjectOutputStream(OutputStream in)
- 序列化与对象克隆
- 一个类的两个对象如果具有相同的应用,他们就具有相同的实体和功能
- 使用对象流获取一个序列化对象的克隆
- 使用Scanner解析文件
- 默认分隔符:以空格作为分隔标记
File file = new File("wenjian.java");
Scanner sc = new Scanner(file);
- 正则表达式作文分隔
File file = new File("wenjian.java");
Scanner sc = new Scanner(file);
sc.useDelimter(正则表达式);
- 文件对话框
- 类
JFileChooser
创建文件对话框
- 类
- 带进度条的输入流
- 输入流类
ProgressMonitorInputStream
- 输入流类
- 文件锁
- 使用RandomAccessFile流建立指向文件的流对象
- 流调用方法getChannel()获得连接到底层文件的FileChannel对象
- 信道调用tryLock()或lock()方法获得FileLock对象
- 读写是用release()释放文件锁
教材学习中遇到的问题及解决过程
- 问题1:内部类里面还能定义一个内部类吗?
- 问题1解决过程:百度加验证,经过百度且将百度后的代码验证后证明是可以的。不过百度知道的回答者说这想法有点诡异估计用不上
参考链接 - 问题2:为什么要有匿名类其用途及好处有什么?
- 问题2解决过程:果然百度比较好用
-可以使命名变得简洁
-使代码更加紧凑,简洁,封装性比内部类更优- 一个类用于继承其他类或是实现接口,无需增加其他的方法,只是对继承方法实现覆盖。
参考博客
- 一个类用于继承其他类或是实现接口,无需增加其他的方法,只是对继承方法实现覆盖。
- 问题3:第十章中出现了无数新类,无数定义没有办法将他们全部理清楚
- 问题3解决过程:通过看视频的讲解后有了更加深入的了解,对于他们的用途多多少少有了点了解,不过肯定还是没有完全弄懂,还需要之后的更多练习
代码学习中遇到的问题及解决过程
- 问题1:在IDEA中实现
-ea
启动断言语句 - 问题1解决方案:
点击run
加Edit
然后在VM栏里输入-enableassertions
或者-ea
就好了
参考博客
代码托管
- 托管链接
- 脚本运行截图
学习进度条
计划学习时间:20小时
实际学习时间:不足16小时
代码行数:1404/2976
20175226 2018-2019-2 《Java程序设计》第六周学习总结的更多相关文章
- 20175226 2018-2019-2 《Java程序设计》第二周学习总结
20175226 2018-2019-2 <Java程序设计>第二周学习总结 教材学习内容总结 基本数据类型与数组 标识符与关键字 标识符不能是关键字.true.false.null.且第 ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 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入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- mongodb解决只能本地连接不能远程连接问题
本机windows7 ,装了vagrant盒子,并在盒子上装了mongodb服务,本机连接虚拟机时连不上. 解决方法: 修改虚拟机上 mongodb.conf 文件,将bind_ip = 127.0. ...
- 判定你的java应用是否正常(是否内存、线程泄漏)的一个简单方法
给大家推荐一个最简单的判定你的java应用是否正常的方法: step1:部署你的应用,让它跑起来: step2:打开jdk下bin目录下的jconsole.exe工具,连接到你的应用——以监测线程和内 ...
- springboot 注册dao层 service 层
可以使用三种注解来引入DAO层的接口到spring容器中.1.@Mapper,写在每一个DAO层接口上,如下: 2.@MapperScan和@ComponentScan两者之一.前者的意义是将指定包中 ...
- NPOI的基本用法,导出Excel
void DownloadForAccountIndex(IReadOnlyList<AccountInfoView> list) { NPOI.HSSF.UserModel.HSSFWo ...
- react native 左边固定,右边横向滑动左右自适应高度
要实现的效果 https://zuobaiquan.github.io/blogImg/201903/01.gif
- 自动化测试框架【windows版】:JMeter + Ant + Jenkins
前提条件:windows安装了jmeter.ant.jenkins 安装方法参考汇总目录中对应的博文 截图看不清的,可以调大浏览器倍数看 jenkins驱动ant执行,ant驱动jmeter执行 an ...
- Hibernate对应关系(了解)
布置的任务要用就写一下总结一下 hibernate有以下几种关系 一对一 一对多 多对一 多对多 首先这些对应关系是分单向和双向的 单向和双向有什么区别呢? 这个双向单向是面向对象的说法 意思就是你更 ...
- 基于Redis缓存几十万条记录的快速模糊检索的功能实现(c#)
在开发一套大型的信息系统中,发现很多功能需要按公司查询,各个模块在实现时都是直接查数据库进行模糊检索,虽然对表进行向各个应用的库中进行了同步,但是在使用中发现,模糊检索公司时还是比较卡,原始的查询数据 ...
- Asp.net MVC 权限过滤器实现方法的最佳实践
在项目开发中,为了安全.方便地判断用户是否有访问当前资源(Action)的权限,我们一般通过全局过滤器来实现. Asp.net MVC 页面中常见的权限判断使用过滤器主要在以下几种情况(根据权限判断的 ...
- EditText以及登录UI实现
EditText是可以输入的文本框 <?xml version="1.0" encoding="utf-8"?><RelativeLayout ...