Java注解

什么是注解?
Java中的注解就是Java源代码的元数据,也就是说注解是用来描述Java源代码的。 基本语法就是:@后面跟注解的名称。
①Override:标识某一个方法是否正确覆盖了它的父类的方法。
②Deprecated:表示已经不建议使用这个类成员了。 它是一个标记注解。
③SuppressWarnings:用来抑制警告信息 等等。
要更好的理解注解,我们可以自己写一个注解
@Target : 用来限制注解可以用到那几个地方。比方可以用到类上,可以用到方法胜都可以用@Target来限制
@Retention:这个是用来控制注解编译在Class中的状态的,默认是编译到Class里去,但是不读出来,还有两种状态是 不编译到Class里面去, 最后一种是编译过于,并且可以通过类反射读出来的
@Documented : 可以利用网络来生成注解的
@Inherited : 子类是否能继承注解
那么下面是我们自己写的注解类
package cn.hncu.annotation;
import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Inherited
@Documented
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE,ElementType.METHOD}) //目标: 限制该注解能够用在哪些地方,如果没定义@Target则不限制即无论哪里都可以用
public @interface MyAnno {
public String schoolName() default "hncu"; //注解中的成员变量要这么定义
}
测试,学习使用
package cn.hncu.annotation;
import java.util.ArrayList;
import java.util.Collection;
@MyAnno
public class AnnotationHello {
private String name="hncu";
public static void main(String[] args) {
System.out.println("hello");
}
@Override
public String toString() {
return super.toString();
}
@MyAnno(schoolName="大城院")
@Deprecated
public void abc(){
System.out.println("abc...");
}
@SuppressWarnings({ "rawtypes", "unchecked" })
public void colDemo(){
Collection col = new ArrayList();
col.add("aa");
}
//注解,只是给其它程序或代码读取信息的
@MyAnno(schoolName="湖南城市学院")
public void demo(){
System.out.println("1111111");
}
@MyAnno //因为该注解中的成员变量schoolName设置了默认值,因此这里可以不赋值。若没设置默认值,则必须要在这里赋值
public void demo2(){
System.out.println("1111111");
}
//@MyAnno("abc") //如果注解中的变量名是value,则这里可以不给出变量名
public void demo3(){
System.out.println("33333333333");
}
}
通过类反射读出来
package cn.hncu.annotation;
import java.lang.reflect.Method;
public class UseMyAnno {
public static void main(String[] args) {
try {
Class c = Class.forName("cn.hncu.annotation.AnnotationHello");
//判断类上面是否有该注解(@MyAnno)
boolean boo = c.isAnnotationPresent(MyAnno.class);
System.out.println("类上是否有该注解:"+boo);
Method ms[] = c.getDeclaredMethods();
for(Method m: ms){
//判断方法上面是否有该注解(@MyAnno)
if(m.isAnnotationPresent(MyAnno.class)){
System.out.println("有注解的方法:"+m.getName());
//演示读取注解中成员变量的值----从m对象中获取该注解,进而读取它的成员变量的值
MyAnno ma = (MyAnno)m.getAnnotation(MyAnno.class);
System.out.println("学校名称:=="+ma.schoolName());
//获取到了这些数据过后,下面就可以开始你的处理了
}
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
# Java注解
# Java注解的详解
# Java注解使用方法
# Java注解与反射原理说明
# Java注解处理器学习之编译时处理的注解详析
# Java注解Annotation与自定义注解详解
# Java注解处理器简单实例
# Java注解机制之Spring自动装配实现原理详解
# 浅谈Java注解和动态代理
# 详解Java注解的实现与使用方法
# java注解的全面分析
# 深入理解Java注解的使用方法
# 全面剖析java中的注解(Annotation)
# 可以用
# 源代码
# 默认值
# 变量名
# 大城
# 在这里
# 子类
# 如有
# 是用来
# 两种
# 它是
# 我们可以
# 可以通过
# 希望能
# 湖南
# 里去
# 谢谢大家
# 用在
# 那几个
# 可以利用
相关文章:
招商网站制作流程,网站招商广告语?
,在苏州找工作,上哪个网站比较好?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
教学论文网站制作软件有哪些,写论文用什么软件
?
*服务器网站为何频现安全漏洞?
建站之星如何开启自定义404页面避免用户流失?
详解jQuery停止动画——stop()方法的使用
威客平台建站流程解析:高效搭建教程与设计优化方案
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何选择高性价比服务器搭建个人网站?
交易网站制作流程,我想开通一个网站,注册一个交易网址,需要那些手续?
建站VPS推荐:2025年高性能服务器配置指南
如何通过智能用户系统一键生成高效建站方案?
如何用腾讯建站主机快速创建免费网站?
html制作网站的步骤有哪些,iapp如何添加网页?
陕西网站制作公司有哪些,陕西凌云电器有限公司官网?
企业微网站怎么做,公司网站和公众号有什么区别?
C#如何使用XPathNavigator高效查询XML
h5网站制作工具有哪些,h5页面制作工具有哪些?
,制作一个手机app网站要多少钱?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
建站主机选择指南:服务器配置与SEO优化实战技巧
股票网站制作软件,网上股票怎么开户?
佛山企业网站制作公司有哪些,沟通100网上服务官网?
建站之星图片链接生成指南:自助建站与智能设计教程
学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?
如何用西部建站助手快速创建专业网站?
香港服务器选型指南:免备案配置与高效建站方案解析
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
实例解析Array和String方法
如何选择香港主机高效搭建外贸独立站?
北京企业网站设计制作公司,北京铁路集团官方网站?
建站之星logo尺寸如何设置最合适?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
linux top下的 minerd 木马清除方法
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成
公众号网站制作网页,微信公众号怎么制作?
如何在服务器上配置二级域名建站?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
建站主机与虚拟主机有何区别?如何选择最优方案?
5种Android数据存储方式汇总
网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在IIS中配置站点IP、端口及主机头?
临沂网站制作公司有哪些,临沂第四中学官网?
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星×万网:智能建站系统+自助建站平台一键生成
专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?
存储型VPS适合搭建中小型网站吗?
早安海报制作网站推荐大全,企业早安海报怎么每天更换?
*请认真填写需求信息,我们会在24小时内与您取得联系。