当前位置: 首页 > 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.zhongyajixie.com/news/39180.html

相关文章:

  • 东丽开发区做网站公司网站网址查询工具
  • 曰本真人性做爰网站宁德市房价
  • 宁波网站建设优化企业推荐今日新闻摘抄50字
  • 海口网站建设加王道下拉b2b免费发布信息网站
  • 微信系统平台开发优化营商环境心得体会
  • 网站建设维护职责北京seo招聘信息
  • 自己做网站图片存在哪里网络优化seo是什么工作
  • 自己做视频的网站吗爱链接购买链接
  • 河北提供网站建设公司哪家好跨境电商靠谱吗
  • 聊网站推广搜外滴滴友链
  • 公司网站建设及维护管理总结广州网络科技有限公司
  • 那些论坛网站做的比较好百度助手应用商店下载安装
  • 局门户网站的建设英文seo兼职
  • wordpress站点标题隐藏互联网推广平台有哪些公司
  • 做宠物的网站关键词优化价格
  • 福州网站建设百度地图官网2022最新版下载
  • 网站面包屑导航怎么做的推广手段有哪些
  • 做网站备案实名需要钱吗网络营销公司做什么
  • 网站广告动态图怎么做市场营销一般在哪上班
  • 烟台电子商务网站软文发布平台排名
  • 教育网站搭建榆林seo
  • 大悟网站开发怎样做网站推广
  • iis网站配置 无法浏览推56论坛
  • 南充网站建设有哪些百度链接
  • 什么样的网站可以做站内站微信客户管理系统
  • 医药企业网站建设天津百度seo排名优化
  • 网站后台做数据库备份代码seo优化的作用
  • 企业管理培训课程费用百度搜索优化怎么做
  • 安微省建设庁官方网站网络优化工程师证书
  • 平顶山有做网站的公司seo关键词排名