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

深圳公司装修设计广州seo好找工作吗

深圳公司装修设计,广州seo好找工作吗,做网站大概费用,淄博桓台学校网站建设哪家好需求 定义若干个方法,只要加了MyTest注解,就可以在启动时被触发执行 分析 定义一个自定义注解MyTest,只能注解方法,存活范围是一直都在定义若干个方法,只要有MyTest注解的方法就能在启动时被触发执行,没有这…

 需求

  • 定义若干个方法,只要加了MyTest注解,就可以在启动时被触发执行

分析

  1. 定义一个自定义注解MyTest,只能注解方法,存活范围是一直都在
  2. 定义若干个方法,只要有@MyTest注解的方法就能在启动时被触发执行,没有这个注解的方法不能执行
package com.csdn.d8_annotation;
import java.lang.annotation.*;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
public class AnnotationDemo4 {@MyTestpublic void test1() {System.out.println("======test1======");}public void test2() {System.out.println("======test2======");}@MyTestpublic void test3() {System.out.println("======test3======");}/*** 启动菜单:有注解的才被调用。* @param args*/public static void main(String[] args) throws InvocationTargetException, IllegalAccessException {AnnotationDemo4 t = new AnnotationDemo4();//a.获取类对象Class<AnnotationDemo4> c = AnnotationDemo4.class;//b.提取全部方法Method[] method = c.getDeclaredMethods();//c.遍历方法,看是否有MyTest注解,有就跑它for (Method method1 : method) {if (method1.isAnnotationPresent(MyTest.class)) {method1.invoke(t);}}}
}@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@interface MyTest {}
D:\Java\jdk-17\bin\java.exe 
======test3======
======test1======

 简单的测试框架

  • 当主方法执行后,会自动自行被检测的所有方法(加了Check注解的方法),判断方法是否有异常,记录到文件中
package com.csdn.annotation;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.lang.reflect.Method;
/*** 简单的测试框架*/
public class TestCheck {public static void main(String[] args) throws IOException {/*Calculator calculator = new Calculator();Class<Calculator> clazz = Calculator.class;Method[] m = clazz.getDeclaredMethods();for (Method method : m) {if (method.isAnnotationPresent(Check.class)) {method.invoke(calculator);}}
*///1、创建计算器对象Calculator cal = new Calculator();//2、获取字节码文件对象Class<Calculator> clazz = Calculator.class;//3、获取所有方法Method[] me = clazz.getDeclaredMethods();int number = 0;//出现异常的次数BufferedWriter bw = new BufferedWriter(new FileWriter("bug.txt"));for (Method method : me) {//4、判断方法上是否有Check注解if (method.isAnnotationPresent(Check.class)) {try {method.invoke(cal);} catch (Exception e) {//6、捕获异常//记录到文件中number++;bw.write(method.getName() + " 方法出异常了");bw.newLine();bw.write("异常的名称:" + e.getCause().getClass().getSimpleName());bw.newLine();bw.write("异常的原因:"+e.getCause().getMessage());bw.newLine();bw.write("--------------------------");bw.newLine();}}}bw.write("本次测试一共出现" + number + "次异常");bw.flush();bw.close();}}
/*** 小明定义的计算器类*/
class Calculator {@Checkpublic void add() {String str = null;str.toString();System.out.println("1+0=" + (1 + 0));}@Checkpublic void sub() {System.out.println("1-0=" + (1 - 0));}@Checkpublic void mul() {System.out.println("1*0=" + (1 * 0));}@Checkpublic void div() {System.out.println("1/0=" + (1 / 0));}public void show() {System.out.println("永无bug...");}
}@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@interface Check {}
D:\Java\jdk-17\bin\java.exe
1-0=1
1*0=0

 

小结

  1. 以后大多数时候,我们会使用注解,而不是自定义注解
  2. 注解的作用:第一个给编译器用,第二个给解析程序用
  3. 注解不是程序的一部分,可以理解为注解就是一个标签
http://www.khdw.cn/news/66425.html

相关文章:

  • 通化网站推广百度商家怎么入驻
  • 上海 网站开发 工作室无货源网店怎么开
  • 济南做网站找大标深圳百度推广电话
  • 3d展示网站源码关键词排名技巧
  • php网站开发技术描述新郑网络推广外包
  • 商洛市住户和城乡建设局网站信息价可以免费发外链的论坛
  • 企业网站建设背景b站推广链接
  • 用帝国cms做网站百度关键词工具
  • wordpress 制作安装包seo网络优化软件
  • 建站行业都扁平化设计前端seo怎么优化
  • 画中画有哪些网站可以做网推项目平台
  • html5网站建设公司沈阳优化网站公司
  • 傻瓜式网站开发工具超级软文网
  • 美女做爰性体网站seo在线论坛
  • 进行网站建设seo推广教程seo推广技巧
  • 做网站维护要什么专业html+css网页制作成品
  • 网站制作 深圳大一html网页制作作业
  • 做商城网站长沙网站公司品牌
  • 网站里面的按钮链接怎么做西安关键词快速排名
  • 新泰网站开发西安seo王尘宇
  • 怎么把网站做漂亮晚上免费b站软件
  • dw网页制作教程 div视频教程班级优化大师的功能有哪些
  • 二合一子母被的好处淄博seo
  • 十大设计创意网站小广告多的网站
  • 网站建设的机构江西seo
  • 综述题建设网站需要几个步骤私人网站管理软件
  • 做网站的技术支持十大最靠谱it培训机构
  • 做网站纸箱关键词百度一下你就知道手机版官网
  • 网站上的文章经常修 内容对seo有影响吗企业如何进行搜索引擎优化
  • div css网站源代码sem与seo