JAVA高级(后端需深入移步)

单元测试:使用Junit单元测试框架

使用Junit单元测试:

通过左侧的对❌来进行提示

Junit框架的常见注解:

反射(用于框架,也是最重要):展示框架的成员信息

由于是用于对象,即使在获取之后也是需要传入获取类型的对象,调用的该类型对象的功能。

此处类型指下面的获取的:类...

反射:Java 反射(Reflection) - Java教程 - 菜鸟教程

public void setAccessible(boolean flag) 设置为true,表示禁止检查访问控制( 暴力反射)

获取任何成员等后都可以将其对象放入该暴力反射中,之后可以访问私有的类型。


反射第一步获取类的对象:

三种获取的都是一种效果。



获取类的构造器:是可以获取私有构造器后,使用构造器对象来访问私有构造器,来创建对象的。

需要对应构造器的形参

即在获取构造器后,通过构造器对象的newInstance创建一个对象,如果有参数的时候许哟啊传入参数。

由于获取构造器创建对象时默认是object类型的需要进行强转,或者在获取构造器的时候声明一个泛型。(一般进行强转)

暴力反射用于获取私有构造器对象后,通过构造器对象来调用私有的构造器。

(需要先进行暴力反射在使用构造器对象创建)


获取类的成员变量:

void set(Object obj, object value): 赋值 obj表示对象,value表示要赋予的值。

object get(Object obj) 取值

public void setAccessible(boolean flag) 设置为true,表示禁止检查访问控制( 暴力反射)


获取类中的方法:


反射的简单应用:

关键在于要暴力反射确保数据都能够被获取。

注解(用于框架功能):

基本上每个地方都可以进行使用

深入注解请移步。

元注解(修饰注解的注解):



test元注解的内部。

注解的解析(输出注解的内容(对象/方法/...)):

示例:解析对象的属性

模拟简易版Junit框架:

动态代理:相当于python的修饰器

将对象的一部分需要的,转移到别的地方进行处理

实际上代理只是处理冗杂的事情,主要的还是由对象自己进行处理。

动态代理的实例:

使用代理进行:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/264443.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12.视图

目录 1.视图的含义与作用 2.视图的创建与查看 1.创建视图的语法形式 2、查看视图: 1.使用DESCRIBE语句查看视图基本信息 2.使用SHOW TABLE STATUS语查看视图基本信息查看视图的信息 3.使用SHOW CREATE VIEW语查看视图详细信息 4.在views表中查看视图详细信息…

西南科技大学C++程序设计实验七(继承与派生二)

一、实验目的 1. 掌握多继承程序设计 2. 掌握虚基类编程 3. 拓展学习可视化程序设计中的继承与派生应用 二、实验任务 重点:掌握虚基类的定义与实现,拓展其功能。 阅读分析、完善程序。下面程序(1)与程序(2)分别是没有使用虚基类和使用虚基类的代码,其中A是最上层基…

java实现网络聊天

网络聊天实现步骤(从功能谈论方法): 客户端: 1.登录面板:注册提醒用户注册格式,登录账号密码不为空,点击登录的时候需要连接服务器端,启动聊天面板。(监听用户点击登录…

MySQL - InnoDB 和 MyISAM 的索引实现的区别

InnoDB 和 MyISAM 底层都是 B 树的实现,但是二者却完全不同 。 主键索引文件存储不同 MyISAM 引擎的索引文件和数据文件是分离的,而 InnoDB 引擎的索引文件和数据文件是不分离的。 MyISAM 引擎的叶子节点存储的是数据文件的地址,而 InnoDB 的…

unity 2d 入门 飞翔小鸟 死亡闪烁特效(十三)

一、c#脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class Bling : MonoBehaviour {public Texture img;public float speed;public static bool changeWhite false;private float alpha0f;// Start is called before the fi…

【STM32】关于H743中出现的ANA类型引脚

最近调试H743ZI这个封装的H743的LAN8720功能 LAN8720是需要用一个外部引脚进行外部复位的 之前也没有好好看手册,选了PC2_C来做这个输出低电平复位信号的IO口 但是重点来了,PC2_C其实它不能做普通IO口,无法控制其输出高低电电平)!!! 手册上写…

nodejs微信小程序+python+PHP在线学习平台设计与实现-计算机毕业设计推荐

概念模型是对现实中的问题出现的事物的进行描述,ER图是由实体及其关系构成的图,通过E-R图可以清楚地描述系统涉及到的实体之间的相互关系。 困扰管理层的许多问题当中,在线学习也是不敢忽视的一块。但是管理好在线学习又面临很多麻烦需要解决,例如&…

流水号的获取

软件中,常常使用流水号,通常流水号是一组参数的组合,如:评估报告的编号结构: 区编号-机构类型-年份-性别-流水 如:03-01-2023-W-0001 03-01-2023-M-0002 03-01-2023-M-0003 。。。。。。 编程时&#xff0c…

有病但合理的 ChatGPT 提示语

ChatGPT 面世一年多了,如何让大模型输出高质量内容,让提示词工程成了一门重要的学科。以下是一些有病但合理的提示词技巧,大部分经过论文证明,有效提高 ChatGPT 输出质量: ​1️⃣ Take a deep breath. 深呼吸 ✨ 作用…

Threejs发光闪烁提示特效

一、导语 发光闪烁特效应该在我们的项目中是经常需要去封装的一个特效吧,一般用于点击选择,选中物体,或者一些特效加持于中心物体,物体碰撞检测后的发光特效等等 二、分析 我们可以合理的使用后处理特效,上步骤&am…

【git】关于git二三事

文章目录 前言一、创建版本库1.通过命令 git init 把这个目录变成git可以管理的仓库2.将修改的内容添加到版本库2.1 git add .2.2 git commit -m "Xxxx"2.3 git status 2.4 git diff readme.txt3.版本回退3.1 git log3.2 git reset --hard HEAD^ 二、理解工作区与暂存…

【unity实战】一个通用的FPS枪支不同武器射击控制脚本

文章目录 前言模型素材文章用到的粒子火光特效射击效果换弹瞄准开枪抖动效果设置显示文本最终代码不同武器射击效果1. 手枪2. 机枪3. 狙击枪4. 霰弹枪5. 加特林 其他感谢完结 前言 实现FPS枪支不同武器效果,比如手枪,喷子,狙击枪&#xff0c…