首页 > 其他分享 >注解小结及自定义注解

注解小结及自定义注解

时间:2022-11-11 10:35:27浏览次数:40  
标签:Java 自定义 setContentView jdk 注解 小结 我们

注解是Java开发中的一个高段位武器,我们可以在很多优秀的开源项目中看到注解的存在。比如,retrofit ,eventbus。这些框架里面或多或少都用到了注解。注解使得项目使用起来非常整洁,优雅。给人一种很牛比的感觉。

按照使用方式注解可以分为三种:

1.元注解,即注解的注解,我们自定义的注解和jdk内部的注解都是通过元注解去注解的。是一种最基础的注解,比如@Retention,注解被保留的时机,包括编译期,运行期等。@Target 标记的类型,包括方法,全家变量,类等。

2.Java预置的注解。包括我们常见的@Override等,这些是jdk已经申明好的。

3.自定义注解,就是我们根据需求按照注解的规律自定义一个注解,这时候注解的提取及相应的逻辑就需要我们自己去完成。

下面以一个小例子来简单使用下自定义注解,我们编写andriod页面时,每次都要setContentView(layoutId);我们想通过注解实现这个效果,不用每次都调用setContentView()方法。

是不是感觉瞬间高级了很多,小明心里在诲腹,并没有这种感觉...。我们以这个简单的例子8简要说明下自定义一个注解需要做的工作。

主要是三步:一.定义注解;二.解析注解并且实现相关功能;三.使用注解 下面一步一步说明下。

第一步定义注解

如上图,定义了@ContentViewById 注解

有图有真相,上面就是自定义注解的全过程。

标签:Java,自定义,setContentView,jdk,注解,小结,我们
From: https://www.cnblogs.com/changhongshi/p/16879567.html

相关文章

  • Vue中如何自定义过滤器 ?
    过滤器可以格式化我们所需要的数据格式 ;自定义过滤器分为全局和局部过滤器:全局过滤器在main.js中使用Vue.direct4ive(过滤器名字,定义过滤器的具体行为函数);......
  • 【XAML】 WindowChrome 自定义窗体样式
    导读【XAML】WindowChrome的功能详解背景 WPF有两种主流的自定义Window窗体的方案,都各有缺点。方法一、缺点《WPF编程宝典》介绍了使用WindowStyle="None"和AllowsT......
  • 定义一个Java类,用来描述订单,属性自定义
    示例代码packagecom.powernode.oo;publicclassOrder{/***名称*/privateStringname;/***订单标识*/privateStrin......
  • 探究Android中的注解
    本文系GDGAndroidMeetup分享内容总结文章注解是我们经常接触的技术,Java有注解,Android也有注解,本文将试图介绍Android中的注解,以及ButterKnife和Otto这些基于注解的库......
  • java 自定义注解
    packagecom.tedu.in;importjava.lang.reflect.Field;publicclassTest{publicstaticvoidmain(String[]args){Class<User>user=User.class;......
  • Spring的包扫描开发与@Autowired与@Resource注解的区别(五)
    东家蝴蝶西家飞,白骑少年今日归。愿,所有迷茫的人,都不再迷茫的,愿,所有努力工作的人,都可以得到应有的回报,愿,所有的人,都可以找到回家的方向,愿,再无苦痛,再无离别。上一章简单介绍......
  • C语言 函数02 自定义函数的参数
    实际参数(实参):真实传给函数的参数,叫实参。实参可以是:常量、变量、表达式、函数等。无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。形......
  • Json常用注解
    Json常用注解@Data@JsonIgnoreProperties(value={"sex","phone"})publicclassUser{privateStringid;privateStringname;privateStringsex;......
  • Hibernate简单注解开发和事务处理(四)
    勿以恶小而为之,勿以善小而不为--------------------------刘备劝诸君,多行善事积福报,莫作恶上一章简单介绍了Hibernate实现简单的CRUD操作和常见类(三),如果没有看过,​​请观......
  • Elasticsearch自定义评分+折叠Java实现
    QueryBuilderboolQueryBuilder=query.getBoolQueryBuilder(localInfoRequest,QueryEnum.termsQuery); FunctionScoreQueryBuilder.FilterFunctionBuilder[]filterF......