【JAVA】关于自动化测试所需要学习的java基础知识笔记

本文详细介绍了自动化测试中所需的JAVA基础知识,包括JAVA的封装、继承、多态,抽象类与接口的区别,深入探讨了反射机制及其应用场景,如XML解析和通过字节码操作方法。还讲解了HashMap和HashSet,File类与IO类,以及log4j的使用。此外,文章还涵盖了正则表达式,XML解析技术,JDBC基础,如何使用Navicat Premium以及TestNG的安装、集成、执行方式、常用注解等,是学习JAVA自动化测试的全面指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.JAVA相关

1.1 java三大特性

封装,继承,多态。
其中多态详解请看这篇博文:
https://www.cnblogs.com/chenssy/p/3372798.html
当超类对象引用变量引用子类对象时,被引用对象的类型而不是引用变量的类型决定了调用谁的成员方法,但是这个被调用的方法必须是在超类中定义过的,也就是说被子类覆盖的方法。
其中有一个经典实例:
https://blog.youkuaiyun.com/thinkGhoster/article/details/2307001

1.2 抽象类和接口的区别

在这里插入图片描述
在这里插入图片描述

1.3 反射
1.3.1 反射的思想

如果对象的属性值要支持可扩展,那么属性的值我们就不能够在代码中去指定,必须通过某种方法分离出来,反射其实也是一种解耦的思想。

1.3.2 什么是反射

java的反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用他的任意一个方法和属性;这种动态获取信息以及动态调用对象方法的功能成为java语言的反射机制。

想要使用反射机制,就必须要先获取到该类的字节码文件对象(.class),通过字节码文件对象,就能够通过该类中的方法获取到我们想要的所有信息(方法,属性,类名,父类名,实现的所有接口等等),每一个类对应着一个字节码文件也就对应着一个Class类型的对象,也就是字节码文件对象。

获取字节码文件对象的三种方式:

  1. Class clazz1 = Class.forName("全限定类名");
    通过Class类中的静态方法forName,直接获取到一个类的字节码文件对象,此时该类还是源文件阶段,并没有变为字节码文件。
例如:
	Class clazz0=Class.forName("com.lemon.day13.section01.Student");
  1. Class clazz2 = 类名.class;
    当类被加载成.class文件时,此时这个类变成了.class,在获取该字节码文件对象,也就是获取自己, 该类处于字节码阶段。
例如:
	Class clazz=Student.class;
  1. Class clazz3 = p.getClass();
    通过类的实例获取该类的字节码文件对象,该类处于创建对象阶段。

有了字节码文件对象才能获得类中所有的信息,我们在使用反射获取信息时,也要考虑使用上面哪种方式获取字节码对象合理,视不同情况而定。

反射详解:https://www.cnblogs.com/whgk/p/6122036.html

1.3.3 xml解析代码

这里解析的是课程中关于调用student类,为其设置属性值的方法:
在这里插入图片描述

1.3.4 通过字节码可以使用的方法

在这里插入图片描述
在这里插入图片描述
以下方法比较重要,需掌握:
在这里插入图片描述
在这里插入图片描述

需掌握:
在这里插入图片描述

在这里插入图片描述
具体使用:
在这里插入图片描述

1.4 HashMap和HashSet

详见我的这篇博文:
https://blog.youkuaiyun.com/qq_34659777/article/details/87007252

1.5 File类和IO类

传送门:https://blog.youkuaiyun.com/qq_34659777/article/details/87100266

1.6 log4j的使用

传送门:https://blog.youkuaiyun.com/qq_34659777/article/details/83687434

2. 正则表达式

这个博客讲得很好:
https://baijiahao.baidu.com/s?id=1588848792548192879&wfr=spider&for=pc

3.XML

  1. xml:可扩展标记语言,在项目中的使用更多的是作为数据载体出现。
  • xml和json都是一种数据交互格式。
  • 所有元素有开始就有结束
  • 大小写敏感
  • 嵌套使用
  • 更多的作为数据载体而出现。
  • 非常适合万维网数据传输,提供统一方法描述和交换结构化数据
  1. xml声明:
  • <?xml version="1.0" encoding="UTF-8"?>
  1. xml 中必须包含根元素,他是其他元素的父类型,下列实例中students就是一个根元素:
<students>
	<student id="1">
		<name>honghong1</name>
		<age>20</age>
		<classsname>java82</classsname>
		<gender>男</gender>
	</student>
</students>
  1. xml文档结构:
  • 和HTML类似,是一种树形结构从上至下扩展。
  • 使用父、子、同胞等术语来表示元素之间的关系。
  • 所有的元素都可以有文本内容和属性
  1. xml的语法和注释
  • 属性必须用双引号“” 引起来
  • 注释: 选中要注释的内容,然后点击<!-- ctrl+shift+/ -->
3.1 dom4j

dom4j是一个Java的XML API。
我们打开maven 中央仓库,在其中搜索dom4j,选择1.6.1版本。
在这里插入图片描述

3.2 dom4j解析技术

用来解析xml中的数据,例如:

<students>
	<student id="1">
		<name>honghong1</name>
		<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值