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

网站建设的目标是什么?提供了哪些栏目?2023年7 8月十大新闻

网站建设的目标是什么?提供了哪些栏目?,2023年7 8月十大新闻,网站编辑能在家做,吉林做网站的公司文章目录1.概述2.JDK内置注解2.1override注解2.2 Deprecated注解3.元注解4.注解中定义属性4.1 属性value4.2 属性是一个数组5. 反射注解6.注解在开发中的作用1.概述 注解,也叫注释,是一种引用数据类型。编译后也同样生成class字节码文件。 语法 [修饰…

文章目录

  • 1.概述
  • 2.JDK内置注解
    • 2.1override注解
    • 2.2 Deprecated注解
  • 3.元注解
  • 4.注解中定义属性
    • 4.1 属性value
    • 4.2 属性是一个数组
  • 5. 反射注解
  • 6.注解在开发中的作用

1.概述

注解,也叫注释,是一种引用数据类型。编译后也同样生成class字节码文件。

  • 语法
[修饰符列表] @inteface 注解类型名 {
}
  • 使用
@注解类型名

可以出现在类上,属性上,方法上,变量上,注解类型上。

package com.sdnu.java.annotation;public @interface MyAnnotation {
}
package com.sdnu.java.annotation;@MyAnnotation
public @interface OtherAnnotation {
}
package com.sdnu.java.annotation;/*** 注解1** @author Beyong* @date 2023/03/02 11:42**/
@MyAnnotation
public class AnnotationTest01 {@MyAnnotationprivate int no;@MyAnnotationpublic AnnotationTest01(){}@MyAnnotationpublic static void m1(){}@MyAnnotationpublic void m2(){}
}@MyAnnotation
interface MyInterface{}@MyAnnotation
enum Season{SPRING,SUMMER,AUTUMN,WINTER
}

2.JDK内置注解

2.1override注解

  • 只能注解方法
    进行编译检查,如果没有重写父类方法,则会编译器报错。
    在这里插入图片描述

2.2 Deprecated注解

用来标注已过时。

package com.sdnu.java.annotation;/*** 注解Deprecated** @author Beyong* @date 2023/03/02 20:11**/
public class AnnotationTest03 {public static void main(String[] args) {Test.myMethod();}
}class Test{@Deprecatedpublic static void myMethod(){System.out.println("hhh");}
}

在这里插入图片描述

3.元注解

用来标注注解类型的注解,叫做元注解。常见元注解

  • Target
    用来标记被注解可以出现在哪些位置上。
  • Retention
    在这里插入图片描述

4.注解中定义属性

package com.sdnu.java.annotation;@MyAnnotation
public @interface OtherAnnotation {String name();String color();int age() default 20;
}

在这里插入图片描述

4.1 属性value

如果一个注解的属性名是value,则改属性名可以省略。

4.2 属性是一个数组

5. 反射注解

注解

package com.sdnu.java.annotation.annotation5;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {String value() default "北京";
}
package com.sdnu.java.annotation.annotation5;/*** test** @author Beyong* @date 2023/03/02 21:24**/
@MyAnnotation
public class MyAnnotationClassTest {int i;public MyAnnotationClassTest(){}@MyAnnotationpublic void doSome(){int i;}
}
package com.sdnu.java.annotation.annotation5;/*** 反射注解** @author Beyong* @date 2023/03/02 21:27**/
public class ReflectAnnotationTest{public static void main(String[] args) throws Exception{Class c = Class.forName("com.sdnu.java.annotation.annotation5.MyAnnotationClassTest");System.out.println(c.isAnnotationPresent(MyAnnotation.class));if(c.isAnnotationPresent(MyAnnotation.class)){MyAnnotation myAnnotation = (MyAnnotation) c.getAnnotation(MyAnnotation.class);System.out.println("类上的注解对象"+ myAnnotation);String value = myAnnotation.value();System.out.println(value);}Class stringClass = Class.forName("java.lang.String");System.out.println(stringClass.isAnnotationPresent(MyAnnotation.class)); //false}
}

在这里插入图片描述

6.注解在开发中的作用

Id类注解

package com.sdnu.java.annotation.annotation7;import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface Id {
}

User类

package com.sdnu.java.annotation.annotation7;/*** user** @author Beyong* @date 2023/03/02 20:48**/
@Id
public class User {int id;String name;String password;
}

异常类

package com.sdnu.java.annotation.annotation7;/*** 自定义异常** @author Beyong* @date 2023/03/02 20:55**/
public class HasNotIdPropertyException extends RuntimeException {public HasNotIdPropertyException(){}public HasNotIdPropertyException(String s){super(s);}
}

测试类

package com.sdnu.java.annotation.annotation7;import java.lang.reflect.Field;/*** test** @author Beyong* @date 2023/03/02 20:48**/
public class Test {public static void main(String[] args) throws Exception{Class userClass = Class.forName("com.sdnu.java.annotation.annotation7.User");boolean isOk = false;if (userClass.isAnnotationPresent(Id.class)){Field[] fields = userClass.getDeclaredFields();for(Field field : fields){if("id".equals(field.getName()) && "int".equals(field.getType().getSimpleName())){isOk = true;break;}}if(!isOk){throw new HasNotIdPropertyException("被标准的类必须有一个int类型的id属性");}}}
}

不改变上述代码:
在这里插入图片描述
改变User类中的int id 为其它,则出现:
在这里插入图片描述
在这里插入图片描述

作者:Beyong    
出处:Beyong博客
github地址:https://github.com/beyong2019

本博客中未标明转载的文章归作者Beyong有,欢迎转载,但未经作者同意必须保留此段声明,且在文章明显位置给出原文连接,否则保留追究法律责任的权利。

http://www.zhongyajixie.com/news/23887.html

相关文章:

  • 游戏网站cms推广软件排行榜前十名
  • 公司网站建设ppt用html制作淘宝网页
  • 找出网站所有死链接石家庄最新新闻事件
  • 陕西工程建设标准化信息网9个广州seo推广神技
  • 做网站开发找哪家公司肇庆网站搜索排名
  • 北京网站开发要多少钱谷歌浏览器下载安装2021最新版
  • 建筑模板网北京百度推广优化排名
  • 合肥网站建设认准 晨飞网络关键词排名seo优化
  • 企业网站上的工资表怎么做推广互联网推广
  • 怎么弄个人网站企业文化ppt
  • 网站开发的几个步骤网络营销策划的基本原则是什么
  • 玩具电子商务网站建设论文市场推广计划
  • 阿里云网站申请用途北京seo诊断
  • 怎么做网站dns加速建站系统源码
  • 网站是什么程序做的如何做外贸网站的推广
  • 政府门户网站改版方案开发一个app需要多少钱
  • 网站建设 图片上传网络营销课程个人感悟
  • 武汉网站建设排行网络推广都有哪些方式
  • 网站建站大约多少钱公司做网络推广哪个网站好
  • 编写app讯展网站优化推广
  • 福州疫情最新消息哈尔滨seo关键词排名
  • 没学过计算机开始学做网站广州百度推广客服电话
  • 大连网站建设找简维科技如何优化seo关键词
  • 做盗版电影网站犯法吗舆情监测分析系统
  • 做网站必须要电脑吗微信引流推广精准粉
  • 淮安建设局网站域名地址查询
  • 购物网站开发的描述外链是什么意思
  • 做阿里巴巴企业网站seo网站监测
  • 河南建设安全协会网站百度推广网站一年多少钱
  • 深圳官网网站建设怎么做个网站