java自定义注解学习(一)_demo小练习
自定义注解
现在大家开发过程中,经常会用到注解。
比如@Controller 等等,但是有时候也会碰到自定义注解,在开发中公司的记录日志就用到了自定义注解。身为渣渣猿还是有必要学习下自定义注解的。
这篇我们先写一个简单的注解列子,不会立马介绍各种什么元注解。从例子中感受下注解的作用
定义个注解
package com.kevin.annotation; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @Retention(RetentionPolicy.RUNTIME) public @interface Kevin { String name() default "kevin"; }
解析并测试这个注解
package com.kevin; import com.kevin.annotation.Kevin; @Kevin public class Test { public static void showKevin(Class c) { System.out.println(c.getName()); boolean isExist = c.isAnnotationPresent(Kevin.class); if (isExist) { Kevin kevin = (Kevin) c.getAnnotation(Kevin.class); System.out.println(kevin.name()); } } public static void main(String[] args) { Test.showKevin(Test.class); } }
运行结果
com.kevin.Test kevin Process finished with exit code 0
总结
上面几句代码,我们已经实现了一个简单的自定义注解,是不是很简单。
大家不要吧注解想想的太复杂,其实任何东西大规模的应用肯定是易用易懂的。
本篇先介绍到这。大家可以先体验下玩玩,我也是刚刚学习。欢迎交流。下篇文章。我们一起学习下注解的基本语法。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
java之常量折叠
为什么会写着篇博客,因为昨天看了关于final关键字的解析。但是有个问题始终没有得到解决,于是请教了我qq上之前添加的知乎大神。他给我回复的第一条消息:常量折叠。身为渣渣猿的我立马查询了这个概念。这是第一次知道这个概念。知乎大神还给我讲了好多。让我终于明白了这个常量折叠的概念 实例解析 昨天,让我迷惑的代码是下面这段代码 public static void main(String[] args) { String a = "hello2"; final String b = "hello"; String d = "hello"; String c = b + 2; String e = d + 2; System.out.println((a == c)); System.out.println((a == e)); } 这段的执行结果是 true false 我就是不明白为什么第一个返回true呢? 留着这个疑问,我们先了解下常量折叠的概念。来更好的理解上面的代码 常量折叠 常量折叠的概念 常量折叠是一种编译器优化技术。 常量折叠主要指的是编译期常量加减乘除的运算过程会被折叠 对...
- 下一篇
java自定义注解学习(二)_注解详解
上篇文章,我们简单的实现了一个自定义注解,相信大家对自定义注解有了个简单的认识,这篇,这样介绍下注解中的元注解和内置注解 整体图示 内置注解 @Override 重写覆盖 这个注解大家应该经常用到,主要在子类重写父类的方法,比如toString()方法 package com.kevin.demo; public class Demo1 { @Override public String toString(){ return "demo1"; } } @Deprecated 过时 @Deprecated可以修饰的范围很广,包括类、方法、字段、参数等,它表示对应的代码已经过时了,程序员不应该使用它,不过,它是一种警告,而不是强制性的。 package com.kevin.demo; public class Demo1 { @Deprecated public void goHome(){ System.out.println("过时的方法"); } } idea中调用这些方法,编译器也会显示删除线并警告 @SuppressWarning 压制Java的编译警告 @SuppressWar...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Docker安装Oracle12C,快速搭建Oracle学习环境