直播网站模板,怎样做企业推广,,老薛主机wordpress模板注解 什么是注解内置注解元注解自定义注解 什么是注解
1、注解是从JDK5.0开始引入的新技术 2、注解的作用 #xff08;1#xff09;不是程序本身#xff0c;可以对程序做出解释#xff08;和注释相同#xff09; #xff08;2#xff09;可以被其他程序读取#xff0c… 注解 什么是注解内置注解元注解自定义注解 什么是注解
1、注解是从JDK5.0开始引入的新技术 2、注解的作用 1不是程序本身可以对程序做出解释和注释相同 2可以被其他程序读取比如编译器 3、注解的格式 注解是以“注释名”在代码中存在的还可以添加一些参数值如GetMapping(“page-info”) 4、注解在哪里使用 可以附加在packageclassmethodfield等上面相当于给他们添加了额外的辅助信息我们可以通过反射机制编程实现对这些元数据的访问
内置注解
1、Override定义在java.lang.Override中此注释只适用于修辞方法表示一个方法声明打算重写超类中的另一个方法声明。如果使用此注释类型注释方法则除非至少满足以下条件之一否则需要编译器生成错误信息 1该方法将覆盖或实现在超类型中生命的方法。 2该方法具有与Object中声明的任何公共方法的覆盖相同的签名。 若将toString改为tostring就会报错
/*** Override 重写的注解* return*/Overridepublic String toString() {return super.toString();}2、Deprecated定义在java.lang.Deprecated中此注释可以用于修饰方法属性类标识不鼓励程序猿使用这样的元素通常是因为他很危险或者存在更好的选择。编译器在不被启用的代码中使用或覆盖不推荐使用的程序元素是发出警告。 我们可以看到test方法是不被推荐使用的虽然不推荐但是不代表不可以使用运行后发现程序仍然可以输出。
3、SuppressWarnings定义在java.lang.SuppressWarnings中用来抑制编译是的警告信息。与前两个注释有所不同我们需要添加一个参数才能正确使用这些参数都是定义好的我们选择性使用就好了。 1SuppressWarnings(“all”) 2SuppressWarnings(“unchecked”) 3SuppressWarnings(value{“unchecked”,“deprecation”}) 4…
新建一个未被使用的的方法或对象会发出警告SuppressWarnings注解可以压制这些警告。
元注解
元注解的作用就是负责注解其他注解Java定义了4个标准的meta-annotation类型他们被用来提供对其他注解类型做说明。这些类型和他们所支持的类在java.lang.annotation包中可以找到。 1Target用于描述注解的使用范围即被描述的注解可以用在什么地方 2Retention表示需要再什么级别保存改注释信息用于描述注解的生命周期。 3Document说明该注释将被包含在javadoc中。 4Inherited说明子类可以继承父类的该注解。
自定义注解
使用interface自定义注解是自动继承了java.lang.annotation.Annotation接口。 1interface用来声明一个注解格式public interface 注解名定义内容。 2其中的每一个方法实际上是声明了一个配置参数。 3方法的名称就是参数的名称 4返回值类型就是参数的类型返回值只能是基本类型ClassStringenum。 5可以通过default来声明参数的默认值。 6如果只有一个参数成员一般参数名为value。 7注解元素必须要有值我们定义注解元素使经常使用空字符串0作为默认值。
//自定义注解
public class Test {//注解可以显示赋值如果没有默认值我们就必须给注解赋值不然就会报错。MyAnnotation(age 19,name 小王)public void test(){}MyAnnotation1(李四)public void test2(){}
}Target({ElementType.TYPE,ElementType.METHOD})
Retention(RetentionPolicy.RUNTIME)
interface MyAnnotation{String name() default ;int age() default 0;int id() default -1; //如果默认值为-1代表不存在String[] schools() default {测试用例,清华大学};
}Target({ElementType.TYPE,ElementType.METHOD})
Retention(RetentionPolicy.RUNTIME)
interface MyAnnotation1{String value();}