@Override
修辞方法,表示打算重写超类中的方法声明。
@Deprecated
可能看不到这个注解,但是我们肯定在使用一些方法时会出现横线。表示废弃,这个注释可以修辞方法,属性,类,表示不鼓励程序员使用这样的元素,通常是因为他很危险或有更好的选择。
@SuperWarnings
这个注解主要是用来抑制警告信息的,在写程序时,可能会报很多黄线的警告,但是不影响运行,我们就可以用这个注解来抑制隐藏它。与前俩个注解不同的是我们必须给注解参数才能正确使用他。
元注解的作用就是负责注解其他注解,Java定义了4个标准的meta-annotation来兴,他们被用来提供对其他annotation类创作说明
这些类型和他们所支持的泪在java.lang.annotation包中可以找到(@Target,@Retention,@documented,@Inherited)
@Target :用于描述注解的适用范围
@Retention:表示需要在什么级别保存该注释信息,用于描述注解的生命周期(SOURCE
@Inherited:说明子类可以继承父类中的该注解
public class TestAnnotation { @MyAnnotation(name="郭帝男",id=15) public void test(){ } //自定义注解 public static void main(String[] args) { } } @Target({ElementType.ANNOTATION_TYPE,ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation{ String name() default""; int age() default 0; int id(); String[] School() default {"清华大学"}; }反射 Reflection
反射指的是我们可以在运行期间加载、探知、使用编译期间完全未知的类。是一个动态的机制,允许我们通过字符串来指挥程序实例化, *** 作属性、调用方法。使得代码提高了灵活性,但是同时也带来了更多的资源开销。
加载完类之后,在堆内存中,就产生了一个 Class 类型的对象(一个 类只有一个 Class 对象),这个对象就包含了完整的类的结构信息。 我们可以通过这个对象看到类的结构。这个对象就像一面镜子,透过 这个镜子看到类的结构,所以,我们形象的称之为:反射。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)