当前位置: 首页 > news >正文

Java基础 Day28 完结篇

一、方法引用

对 Lambda 表达式的进一步简化

方法引用使用一对冒号 ::

Tips:静态方法用类名加双冒号,非静态方法用对象名加双冒号

通过方法的名字来指向一个方法

参数可推导即可省略

可以使语言的构造更紧凑简洁,减少冗余代码

二、单元测试

1、简介

针对最小的功能单元(方法),编写测试代码对其正确性进行测试

JUnit 是最流行的Java测试框架之一,提供一些功能,方便进行单元测试(第三方提供)

2、主方法测试的弊端

测试代码与源代码未分开,难维护

如果一个方法测试失败,会影响后面方法的测试

无法通过自动化测试得到测试报告

3、JUnit 单元测试的优点

可以选择执行一个测试方法,或执行全部测试方法

可以自动生成测试报告

一个测试方法执行失败,不会影响其它测试方法

4、基本操作步骤

在需要测试的方法上, 加入 @Test 注解

在有外部网络的情况下根据提示敲回车

运行,绿色(正确) 红色(错误)

Tips:JUnit 单元测试类名命名规范为:XxxxxTest;

JUni t单元测试的方法,必须声明为 public void 且不能有参数

三、XML

1、简介

可扩展标记语言(Extensible Markup Language)

标签可以自行指定,只要是合法的标识符即可

常用于当作配置文件来存储数据

2、基本语法

(1)创建一个XML类型的文件,要求文件的后缀必须使用xml,如 hello_world.xml

(2)编写文档声明 (必须是第一行第一列)

<?xml version="1.0" encoding="UTF-8" ?>

(3)编写根标签 (必须存在一个根标签,有且只能有一个) 标签必须成对出现

<student> </student>

(4)特殊的标签可以不成对,但是必须有结束标记 <address/>

(5)标签中可以定义属性,属性和标签名空格隔开,属性值必须用引号引起来 <student id="1"> </student>

(6)标签需要正确的嵌套

3、XML 约束

用来限定一个 XML 文件中可以使用的标签和属性

(1)dtd 约束

创建一个文件,这个文件的后缀名为.dtd

看xml文件中使用了哪些元素,<!ELEMENT> 可以定义元素

引入 dtd 约束:

(2)schema 约束

和 dtd 的区别

编写步骤:

引入 XML 约束

<students xmlns:xsi="http://www.o3.org/2001/XMLSchema-instance"xmlns="http://wwww.aaa.com"xsi:schemaLocation="http://wwww.aaa.com stu.xsd"
></students>

4、XML 解析

(1)SAX 解析: 不会把整体的xml文件都加载到内存,而是从上往下逐行进行扫描

缺点:只能读取,不能添加,不能删除

优点:因为他是逐行扫描不需要把整体的xmi文件都加载到内存,所以他可以解析比较大的xml文件

(2)DOM 解析: 会把整体的xml文件都加载到内存,形成树形结构,通过这个树形结构去解析xml文件

优点:可以读取,可以添加,可以删除

缺点:需要xml文件全部加载到内存,所以不能解析非常大的xml文件

常用 Dom4j 进行解析

四、注解

1、简介

注解的主要作用是对程序进行标注

注释是给人看的,但注解是给虚拟机看的

注解可以给类或方法增加额外的信息

编译器或JVM可以根据注解来完成对应功能

2、常见注解

@Override:表示方法的重写

@Deprecated:表示修饰的方法已过时

@SuppressWarnings("all"):压制警告

3、自定义注解

一般和反射一起使用,单独存在意义不大

public @interface 注解名称 {public 属性类型 属性名() default 默认值;
}public @interface myAnno {String show() default "show...";
}

属性的类型:基本数据类型、String、字节码对象、注解、枚举、以上类型的一维数组

注意事项

  • 在使用注解时, 如果注解的属性没有给出默认值,需要手动给出
  • @Anno(name="张三")
  • 如果数组中只有一个属性值,在使用时{}是可以省略的
  • 定义注解中如果有多个属性没有赋值,使用时需要全部赋值
  • 如果只有一个属性名字为value没有赋值,使用时直接给出值,不需要写属性名

4、元注解

用在注解上的注解

(1)@Target: 用来标识注解使用的位置

如果没有使用该注解标识,则自定义的注解可以使用在任意位置

可使用的值定义在 ElementType 枚举类中,常用值如下

  • TYPE   类,接口
  • FIELD  成员变量
  • METHOD 成员方法
  • PARAMETER 方法参数
  • CONSTRUCTOR 构造方法
  • LOCAL_VARIABLE 局部变量

(2)@Retention:用来标识注解的生命周期(有效范围)

可使用的值定义在 RetentionPolicy 枚举类中,常用值如下

  • SOURCE:注解只作用在源码阶段,生成的字节码文件中不存在
  • CLASS:注解作用在源码阶段,字节码文件阶段,运行阶段不存在,默认值
  • RUNTIME:注解作用在源码阶段,字节码文件阶段,运行阶段

相关文章:

  • 深入解析 MultipartFile:Spring 框架下的高效文件处理方案
  • 【笔记】使用Media Creation Tool给新主机装win10魔改iso
  • Spring @Value注解的依赖注入实现原理
  • 2025年微信小程序开发:趋势、最佳实践与AI整合
  • 笔记:算法题目中需要处理 int 某个位的三种方法:for、while、to_string
  • SpringBoot中缓存@Cacheable出错
  • SpringBoot 数据库导入导出 Xlsx文件的导入与导出 全量导出 数据库导出表格 数据处理 外部数据
  • 基于SpringBoot的“嗨玩旅游”网站设计与实现(源码+定制+开发)嗨玩旅游平台开发:景点展示与个性化推荐系统(SpringBoot)
  • 《数据挖掘》- 房价数据分析
  • 《Spring Bean 是怎么被创建出来的?容器启动流程全景分析》
  • mobilnet v4 部署笔记
  • Spring AOP:面向切面编程 详解代理模式
  • LangChain系列之LangChain4j集成Spring Bot
  • 户外摄像头监控如何兼顾安全实时监控
  • Fooocus 一款好用的文生图软件,4G显存可跑
  • 实现仿中国婚博会微信小程序
  • 敏感备份文件:潜在的安全风险与防护措施
  • QT 5.9.2+VTK8.0实现等高线绘制
  • 【QT】在Qt6的`QTextEdit`中,同一行更新内容
  • MySQL连接报SSL错误
  • 江苏网站建设多少钱/个人网站制作模板
  • 辽宁建设工程信息网昂/东莞网站建设seo
  • 网站建设马鞍山/整合营销策略有哪些
  • wordpress如何实现/海口seo快速排名优化
  • 调兵山 网站建设/百度站长工具链接提交
  • 电子商务网站建设报告怎么写/新闻小学生摘抄