20165306第五周学习任务(代码片段)

夏远航 夏远航     2022-10-30     561

关键词:

第五周学习任务

教材学习内容总结

7.1内部类

外嵌类的成员变量在内部类中仍然有效,内部类中的方法也可以调用外嵌类中的方法。

内部类的类体中不可以声明类变量和类方法。外嵌类的类体中可以用内部类声明对象,作为外嵌类的成员。

内部类仅供它的外嵌类使用,其他类不可以用某个类的内部类声明对象。

例子1

7.2匿名类

匿名类就是一个子类,由于无名可用,所以不可能用匿名类声明对象,却可以直接用匿名类创建一个对象。

例子2

如果某个方法的参数是接口类型,那么可以使用接口名和类体组合创建一个匿名对象传递给方法的参数,类体必须要重写接口中的全部方法。

7.3异常类

Java使用try-catch语句来处理异常,将可能出现的异常操作放在try-catch语句的try部分,将发生异常后的处理放在catch部分。

例子4

一个方法在声明时可以使用throws关键字声明要产生的若干个异常,并在该方法的方法体中具体给出产生异常的操作,即用相应的异常类创建对象,并使用throw关键字抛出该异常对象,导致该方法结束执行。注:throw和throws是两个不同的关键字。

例子5

7.4断言

断言语句一般用于程序不准备通过捕获异常来处理的错误。

断言语句的两种格式:当booleanExpression的值是true时,程序从断言语句处继续执行;值是false时,程序从断言语句处停止执行。

assert booleanExpression;

assert booleanExpression:messageExpression; 并输出messageExpression表达式的值,提升用户出现了怎样的问题。

当运行应用程序时,默认地关闭断言语句,在调试程序时可以使用-ea启用断言语句,例如: java -ea mainClass

例子6

10.1.2目录

调用方法public boolean mkdir()创建一个目录,如果创建成功返回true,否则返回false(如果该目录已经存在将返回false)。

public String [] list() 用字符串形式返回目录下的全部文件;public File [] listFiles() 用File对象形式返回目录下的全部文件。

10.1.3文件的创建与删除

public boolean createNewFile(); 文件对象file调用方法; file.delate(); 可以删除当前文件。

10.1.4运行可执行文件

Runtime ec; 使用Runtime类声明一个对象

ec=Runtime.getRuntime() 使用getRuntime()静态方法创建这个对象

ec可以调用exec(String command)方法打开本地机器上的可执行文件或执行一个操作。

10.2~10.9

FileInputStream文件字节输入流,FileOutputStream文件字节输出流,

FileReader文件字符输入流,FileWriter文件字符输出流,

BufferedReader缓冲输入流,BufferedWriter缓冲输出流,

RandomAccessFile随机流,

ByteArrayInputStream字节数组输入流,ByteArrayOutputStream字节数组输出流,

DataInputStream数据输入流,DataOutputStream数据输出流,

ObjectInputStream对象输入流,ObjectOutputStream对象输出流。

例子13

10.10序列化与对象克隆

使用对象流很容易获取一个序列化对象的克隆,只需将该对象写入对象输出流指向的目的地,然后将该目的地作为一个对象输入流的源,那么该对象输入流从源中读出的对象一定是原对象的一个克隆。

教材中的问题和解决过程

问题1:

P163Java编译器生成的内部类的字节码文件的名字和通常的类不同,内部类对应的字节码文件的名字格式是“外嵌类名&内部类名”。

解答:

起初我不确定是否要把文件名或者主类名改成和“RedCowForm$RedCow”有关的,所以按照平常的做法,把“RedCowForm.java”和“E71”统一放到了“E71”文件夹中,发现可以正常编译运行,然后执行“tree”命令,原来内部类的字节码文件名本身就是“RedCowForm&RedCow.class”。

问题2:

P163内部类可以被修饰为static内部类,static内部类不能操作外嵌类中的实例成员变量。非内部类不可以是static类。

在第四章学到用static修饰的是类方法(静态方法)、类变量(静态变量),不用static修饰的是实例方法、实例变量,那么static类又是什么?

解答:

查找资料知道了:

(1)静态内部类不需要有指向外部类的引用;非静态内部类需要持有对外部类的引用。

(2)静态内部类可以声明普通成员变量和方法;非静态内部类不能声明static成员变量和方法。

(3)静态内部类不能访问外部类的非静态成员,只能访问外部类的静态成员;非静态内部类能够访问外部类的静态和非静态成员。

(4)静态内部类可以单独创建;非静态内部类不能脱离外部类实体被创建,它可以访问外部类的数据和方法,因为它就在外部类里面。

代码托管

上周考试错题总结

  • 类是Java程序的基本要素(基本单位),是Java语言中最重要的“数据类型”。
  • 写一个方法和C语言中写一个函数完全类似。
  • 用一个类创建两个对象obj1和obj2后,二者的引用是不同的。 obj2=obj1; 这样obj2中存放的将是obj1中存放的将是obj1的值,即obj1的引用。因此,obj2所拥有的变量(实体),就和obj1完全一样了。
  • 类变量与实例变量的区别:不同对象的实例变量互不相同,所有对象共享类变量;实例变量可以通过对象访问,类变量可以通过对象、类名访问。
  • 类方法与实例方法的区别:对象调用实例方法,对象、类名调用类方法;实例方法操作实例、类变量,类方法操作类变量。
  • 方法的返回类型和参数的名字不参与比较,即如果两个方法的名字相同,即使返回类型不同,也必须保证参数不同。
  • this不能出现在类方法中,这是因为类方法可以通过类名直接调用,这时可能还没有任何对象产生。
  • 类中的实例方法总是可以操作该类中的实例变量和类变量,类方法总是可以操作该类中的类变量,与访问限制符没有关系。
  • 如果源文件使用import语句引用了另外一个包中的类,并用该类创建了一个对象,那么该类的这个对象将不能访问自己的友好变量和友好方法。
  • String a="ab"+"cd"; 创建了3个对象。解析:“ab”和“cd”分别创建了一个对象,它们通过“+”连接后又创建了一个对象“abcd”,因此一共3个对象。只有使用引号包含文本的方式创建的String对象之间使用“+”连接产生的新对象才会被加入字符串池中。

学习进度条

代码行数(新增/累积) 博客量(新增/累积)
目标 5000行 30篇
第五周 1051/3198 2/10

2018-2019-120165301《信息安全系统设计基础》第五周学习总结(代码片段)

2018-2019-120165301《信息安全系统设计基础》第五周学习总结学习目标了解常见的存储技术(RAM、ROM、磁盘、固态硬盘等)理解局部性原理理解缓存思想理解局部性原理和缓存思想在存储层次结构中的应用高速缓存的原理和应用学... 查看详情

第五周学习总结(代码片段)

第五周学习总结  因为这周我们绝大部分时间是学的shell脚本进阶,所以这周我的博客内容主要是有关shell脚本函数。一我对函数的个人理解  编写shell脚本的时候,我们经常会发现在多个地方使用了相同的代码。如... 查看详情

第五周学习总结(代码片段)

第五周学习总结  因为这一周只学习了网络这一章,内容主要也是网路理论居多,所以这一周的博客我打算写一下使用虚拟机搭建三个路由器和两个主机的路由环境。前提我们需要开启五个CentOS系统。可以把虚拟机复制现... 查看详情

java第五周学习总结(代码片段)

学号2016-2017-2《Java程序设计》第X周学习总结教材学习内容总结1.接口(1)使用关键字interface来定义一个接口,接口分为接口声明和接口体,例如interfacePrintablefinalintMAX=100;voidadd();floatsum(floatx,floaty);;(2)接口声明,格式如下interfa... 查看详情

《java程序设计》第五周学习总结(代码片段)

学号20175313《Java程序设计》第五周学习总结教材学习内容总结第六章主要内容掌握接口的定义接口声明:interface接口名接口体:包含常量的声明和抽象方法。接口体中只有常量没有变量(public、final、static)接口体中只有抽象方法... 查看详情

20175304《java程序设计》第五周学习总结(代码片段)

201753042018-2019-3《Java程序设计》第五周学习总结教材学习内容总结1.接口体中包含常量的声明和抽象方法两部分。接口体中只有抽象方法,没有普通方法,而且接口体中所有的常量的访问权限一定都是public,而且是static常量(允... 查看详情

第五周学习总结-html5(代码片段)

2018年8月12日  暑假第五周,我把HTML剩余的一些标签和用法看完了并学了一些HTML5的标签及用法。  HTML5比HTML多了一些元素,也删去了一些元素。HTML5新增元素图形元素<canvas>定义图形,比如图表和其他图像。该标签基于J... 查看详情

暑假第五周学习进度报告

...学习C#.net。同时,本周学习《JavaWeb程序设计基础教程》第五章:系统业务逻辑与第六章:系统流程控制的内容。学习Servlet的编写方法,学习过程艰难异常,学习进度较慢,实训任务无法完成...由于问题较多,不再一一赘述。自... 查看详情

2018-2019-120165329《信息安全系统设计基础》第五周学习总结(代码片段)

2018-2019-120165329《信息安全系统设计基础》第五周学习总结教材学习内容总结 1、随机访问存储器分为:静态RAM(SRAM):每个位存储在一个双稳态(bitable)存储器单元里,每个单元是用一个六晶体管电路来实现的。 动态RA... 查看详情

2018-2019-120165306《信息安全系统设计基础》第五周学习总结(代码片段)

2018-2019-120165306《信息安全系统设计基础》第五周学习总结教材学习内容总结6.1存储技术6.1.1随机访问存储器静态RAM(SRAM):双稳态特性,只要有电,它就会永远地保持它的值。即使有干扰来扰乱电压,当干扰消除时,电路就会... 查看详情

201652062018-2019-1《信息安全系统设计基础》第五周学习总结(代码片段)

-201652062018-2019-1《信息安全系统设计基础》第五周学习总结-教材学习内容总结-随机访问存储器:随机访问存储器分为两类:静态RAM(SRAM)和动态RAM(DRAM)。静态RAM将每个位储存在一个双稳态的存储器单元里;动态RAM将每个位存... 查看详情

2018-2019-120165334《信息安全系统设计基础》第五周学习总结(代码片段)

2018-2019-120165334《信息安全系统设计基础》第五周学习总结存储技术随机访问存储器分为静态(SRAM)和动态(DRAM)静态将每一个位存储在一个双稳态的存储单元里动态将每一个位存储为对一个电容的充电。磁盘容量由记录密度、... 查看详情

201723332018-2019-1《程序设计与数据结构》第五周学习总结(代码片段)

201723332018-2019-1《程序设计与数据结构》第五周学习总结教材学习内容总结==《Java软件结构与数据结构》第九章-排序与查找==一、查找①.查找概念:在一个项目中寻找一个元素或者判断一个元素是否存在在这个项目中。②.查找的... 查看详情

201723272018-2019-1《程序设计与数据结构》第五周学习总结(代码片段)

201723272018-2019-1《程序设计与数据结构》第五周学习总结教材学习内容总结第九章排序与查找查找1.查找:在某个项目组中找到指定元素或判断是否存在。该项目组被称为查找池。2.常见查找方式,线性查找。3.查找目标:高效地... 查看详情

2018-2019-20172329《java软件结构与数据结构》第五周学习总结(代码片段)

2018-2019-20172329《Java软件结构与数据结构》第五周学习总结教材学习内容总结《Java软件结构与数据结构》第九章-排序与查找一、查找1、查找概念简述:(1)查找3是这样一个过程,即在某个项目组中寻找某一指定目标元素,或者... 查看详情

第五周(代码片段)

这个作业属于哪个课程C语言程序设计II这个作业要求在哪里https://edu.cnblogs.com/campus/zswxy/computer-scienceclass4-2018/homework/2826我在这个课程的目标是掌握高级程序设计语言的知识,更重要的是在实践中掌握程序设计的思想和方法,培养... 查看详情

第五周作业:卷积神经网络(part3)(代码片段)

文章目录一、《MobileNets:EfficientConvolutionalNeuralNetworksforMobileVisionApplications》1.原文地址2.TensorFlow官方3.论文亮点4.代码学习二、《MobileNetV2:InvertedResidualsandLinearBottlenecks》1.原文地址2.非官方Pytorch代码3.论文亮点4.代码学习三 查看详情

201723052018-2019-1《java软件结构与数据结构》第五周学习总结(代码片段)

201723052018-2019-1《Java软件结构与数据结构》第五周学习总结教材学习内容总结本周内容主要为书第九章内容:查找是在某个项目组中寻找到某一指定目标元素,或者确定该指定目标并不存在。高效的查找会使该过程所做的比较操... 查看详情