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

湖南省建设厅建管处/北海seo快速排名

湖南省建设厅建管处,北海seo快速排名,用百度地图 做gis网站,wordpress的交叉表单JavaEE-Java开发框架的基础-注解机制 文章目录JavaEE-Java开发框架的基础-注解机制概述常见标识性注解自定义注解RetentionTargetAnnotatedElement接口注解应用实例概述 Annotation(注解)工作方式: 从java1.5以后,jdk提供了注解…

JavaEE-Java开发框架的基础-注解机制

文章目录

  • JavaEE-Java开发框架的基础-注解机制
    • 概述
    • 常见标识性注解
    • 自定义注解
    • @Retention
    • @Target
    • AnnotatedElement接口
    • 注解应用实例

概述

Annotation(注解)工作方式:

从java1.5以后,jdk提供了注解开发,开发者可以自定义注解。Annotation并不影响代码的语义,但是它的工作方式常被用来开发程序工具或者类库,它反过来对正在运行的程序语义有所影响

举例: @override

override属于标识性注解

常见标识性注解

@Deprecated:过期的方法,不建议使用的

@SuppressWarning:消除警告(开发工具标志了黄线则为警告)

自定义注解

public @interface MyAnn {//定义注解的属性,必须要加上()String value();
}
@MyAnn(value = "hello")
public class AnnTest {

@interface代表注解

注解中可以设置值,在程序运行时配合使用

所有带@的接口都继承自

@Retention

@Retention是作用在注解上的注解,指明被注解的注解有效期

有三个RetentionPolicy类型的值可以设置

ClASS:注解指定的值至保留在类文件

RUNTIME:有效期包含通过反射被调用时

SOURCE:只保留在源代码

如:

@Retention(RetentionPolicy.RUNTIME )
public @interface testAnno {}

@Target

主要标注在注解上,表示被标注的注解可以标注在哪些域上

@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.METHOD})
public @interface Anndemo {//定义注解属性String [] value();}

以上表示只标注在方法上

@Target支持添加的类型

注解的值类型(是个枚举类型)

枚举中有以下项

AnnotatedElement接口

所有的域(类,方法,属性,包等)都实现了这个接口

接口中定义了获得注解的方法

注解应用实例

自定义注解:

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;@Retention(RetentionPolicy.RUNTIME )
public @interface testAnno {String value();
}

自定义注解所添加的方法:

public class Caculate {
@testAnno(value = "相加的结果为")
public  int add(int a, int b ){return a+b ;
}
}

反射调用方法,获得注解值,进而影响程序:

import java.lang.reflect.Method;public class testReflect {public static void main(String[] args) throws Exception {//创建Caculate类对象Class<?> clazz =  Caculate.class ;//通过类对象获得实例Object obj  = clazz.newInstance();//获得方法Method method = clazz.getDeclaredMethod("add", int.class, int.class);//判断是否存在注解boolean isA = method.isAnnotationPresent(testAnno.class) ;if(isA){//获得注解testAnno an = method.getAnnotation(testAnno.class) ;//获得注解的值String val =  an.value();//反射调用add方法Object result = method.invoke(obj,new Object[]{1,2}) ;//结合注解的值System.out.println(val+result);}}
}

http://www.lbrq.cn/news/1341091.html

相关文章:

  • windows7PHP网站建设/张北网站seo
  • 虎门外贸网站建设公司/百度如何免费打广告
  • 个人网站域名注册/推广普通话宣传周
  • 专业建站哪家好/南京关键词网站排名
  • 长沙制作网站软件/创建一个网站
  • 同城换物网站为什么做不起来/seo服务公司招聘
  • 俄罗斯b2b网站大全/b站免费版入口
  • 电脑网站开发手机上可以打开吗/中国站长素材网
  • 郑州品牌营销网站建设/网站设计与网页制作
  • 男女做那个的免费视频网站/软件开发外包
  • 网站建设目标分析/百度公司网站推广怎么做
  • 怎么做网页商城/seo和sem推广
  • 外贸网站建设公司排名/重庆网站制作系统
  • 推荐大良网站建设/新app推广去哪里找
  • 网站加载等待/海南百度推广开户
  • 静态网站用什么做/杭州网站
  • 怎么查网站建设是哪家公司/百度seo课程
  • 贵阳疫情爆发时间/谷歌seo优化公司
  • 建站合同/万能搜索引擎
  • 莱芜网站建设资情况介绍/网络营销的三大基础
  • 个人网站开发/广州网络广告推广公司
  • 上海做网站找谁/重庆自动seo
  • 做英文网站内容来源/上海关键词排名优化怎样
  • wordpress主题启用后/优化视频
  • 专门做钣金的网站/网络推广网络营销软件
  • 运城推广型网站建设/百度贴吧官网入口
  • 张家港建网站价格/谷歌关键词排名查询工具
  • ps做网站框架搭建/seo网络科技有限公司
  • 怎样做阿里巴巴网站的店招/业务推广网站
  • 西宁做网站制作的公司/网络营销的整体概念
  • 旅行者1号无线电工作频段
  • Ubuntu 安装 Elasticsearch
  • Spring Boot 开发三板斧:POM 依赖、注解与配置管理
  • 【Canvas与旗帜】圆角蓝底大黄白星十一红白带旗
  • 12. “static关键字是什么意思”,Java中是否可以覆盖(override)一个private或者是static的方法
  • react 常用组件库