20175208 《Java程序设计》第六周学习总结

一.教材知识点总结:

第七章

1.内部类: 成员内部类、静态嵌套类、方法内部类、匿名内部类 。
(1)、内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 。
(2)、内部类不能用普通的方式访问。内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 。
(3)、内部类声明成静态的,就不能随便的访问外部类的成员变量了,此时内部类只能访问外部类的静态成员变量 。

2.匿名类:匿名类是不能有名字的类,它们不能被引用,只能在创建时用New语句来声明它们。匿名类的声明是在编译时进行的,实例化在运行时进行,这意味着for循环中的一个new语句会创建相同匿名类的几个实例,而不是创建几个不同匿名类的一个实例。实现他的方式有继承一个类,重写其方法或者实现一个接口,可以是多个。

3.断言:是所谓的assertion,主要使用在代码开发和测试时期,用于对某些关键数据的判断,如果这个关键数据不是你程序所预期的数据,程序就提出警告或退出。
语法1:assert expression; //expression代表一个布尔类型的表达式,如果为真,就继续正常运行,如果为假,程序退出
语法2:assert expression1 : expression2; //expression1是一个布尔表达式,expression2是一个基本类型或者Object类型,如果expression1为真,则程序忽略expression2继续运行;如果expression1为假,则运行expression2,然后退出程序。

4.异常类:Java使用try-catch语句处理异常,也可以扩展Exception类定义自己的异常类。

第十章

1.输入流、输出流:提供一条通道,可以用来读取源中的数据,亦或是把数据送到目的地。输入流的指向为源,输出流的指向叫做目的地。

2.缓冲流:
计算机访问外部设备或文件,要比直接访问内存慢的多。如果每次调用read()方法或者writer()方法访问外部的设备或文件,CPU就要花上最多的时间是在等外部设备响应,而不是数据处理。为此,所以会开辟一个内存缓冲区的内存区域,程序每次调用read()方法或writer()方法都是读写在这个缓冲区中。当这个缓冲区被装满后,系统才将这个缓冲区的内容一次集中写到外部设备或读取进来给CPU。使用缓冲区可以有效的提高CPU的使用率,能提高整个计算机系统的效率。在字符流操作中,所有的字符都是在内存中形成的,在字符流输出前都将保存在内存中的缓冲区内。

3.随机流:
随机访问的文件对象看作存储在文件系统中的一个大型 byte 数组,然后通过指向该 byte 数组的光标或索引(即:文件指针 FilePointer)在该数组任意位置读取或写入任意数据

4.数组流:
内存数组流,就是和内存中的数组相关的一个流,可以将字节数组写到输出流中,也可以将字节数组从输入流中读出来,不涉及磁盘。内存数组输出流可以看成一个可自动扩容的 byte 数组,可以往里写字节。

5.数据流:
获取数据的方式有多种,比如:程序中直接给出、键盘输入、从数据文件中读取、从数据库中读取、通过网络读取等。 为了更有效地进行数据的输入/输出操作,Java将各种数据源的数据,抽象为“数据流”,及stream。

6.对象流:
对象的输入输出流的作用: 用于写入对象 的信息和读取对象的信息。 使得对象持久化。
(1)ObjectInputStream : 对象输入流
(2)ObjectOutPutStream :对象输出流

二:学习中遇到的困难和解决方法:

1.在src文件夹里创建了文本文件导致的java运行不成功,找不到文本文件。解决方法:在编译文件夹bin里重新创建文本文件才能正常运行编译文件

2.File类很多操作是不是和很多的操作有重复?解决方法:有很多细微的差别。

3.看克隆对象那里产生的疑问:为什么需要克隆对象?直接new一个对象不行吗?解决方法:克隆的对象可能包含一些已经修改过的属性,而new出来的对象的属性都还是初始化时候的值,所以当需要一个新的对象来保存当前对象的“状态”就靠clone方法了。而如果我们把这个对象的临时属性一个一个的赋值给新new的对象,一来麻烦,二来clone是一个native方法,重点是快,在底层实现。并且通过clone方法赋值的对象跟原来的对象时同时独立存在的。

三:代码截图:

四:本周错题:本周没有错题。

五:学习总结:

我自身的编程基础就不是很好,经过了这段时间的学习,有所改善。第七章学的还可以,第十章就不是很轻松了,在学习中的问题也很多,以后会更加努力学好Java的。

20175208 《Java程序设计》第六周学习总结的更多相关文章

  1. 20175208 《Java程序设计》第九周学习总结

    20175208 2018-2019-2 <Java程序设计>第九周学习总结 一.教材学习内容总结: 第11章 JDBC与MySQL数据库 MySQL数据库管理系统 MySQL数据库管理系 ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  4. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

  5. 20145236 《Java程序设计》第九周学习总结

    20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...

  6. 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结

    20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...

  7. 20155303 2016-2017-2 《Java程序设计》第二周学习总结

    20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...

  8. 20145237 《Java程序设计》第九周学习总结

    20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...

  9. 20175209 《Java程序设计》第九周学习总结

    20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...

  10. 20175313 张黎仙《Java程序设计》第九周学习总结

    目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...

随机推荐

  1. (92)Wangdao.com_第二十五天_线程机制_H5 Web Workers 分线程任务_事件 Event

    浏览器内核 支撑浏览器运行的最核心的程序 IE 浏览器内核            Trident内核,也是俗称的IE内核Chrome 浏览器内核            统称为 Chromium 内核或 ...

  2. 5m21d缓冲区溢出学习笔记

    mysql链接字符串函数 concat(str1,str2) concat_ws(separator,str1,str2....) group_concat(str1,str2....) mysql的 ...

  3. js中函数创建的三种方式

    1.函数声明 function sum1(n1,n2){     return n1+n2;   }; 2.函数表达式,又叫函数字面量 var sum2=function(n1,n2){     re ...

  4. 鱼刺 winhttp

    winhttp com 对象   网页_访问_对象 api wininet  网页访问 下划线命名法 驼峰命名法  小驼峰   JS内置的一些 大驼峰   api 多线程用   coinitializ ...

  5. css_文本溢出

    1.单行文本溢出隐藏,显示省略号 2.多行文本溢出隐藏,显示省略号 1.只针对用webkit内核浏览器渲染页面才会有效果 2.(多行文本溢出隐藏,显示省略号)通用方法

  6. WithOne 实体关系引起 EF Core 自动删除数据

    最近遇到了一个 EF Core 的恐怖问题,在添加数据时竟然会自动删除数据库中已存在的数据,经过追查发现是一个多余的实体关系配置引起的. modelBuilder.Entity<Question ...

  7. js四则运算

    这个bug是js固有的,浮点数精度不准,你可以用下面方法来解决,思路是先放大,求和.差.积等运算后再缩小. 如: //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差 ...

  8. spring 相关注解详情(二)

    @Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法 /* 数据源的属性类 */ public class DataSourcePro ...

  9. python做数据驱动

    python代码如下: import unittestfrom openpyxl import load_workbookfrom openpyxl.styles import Fontfrom op ...

  10. Oracle数据泵远程导入数据

    查看现存镜像目录 select * from dba_directories; 创建镜像目录 create or replace directory my_dir as 'local_dir' ; 把 ...