1.内置注解
- Override:只用于修饰方法,表示一个方法声明打算重写超类中的另一个声明。
2.元注解
作用:负责注解其他注解
- @Target:用于描述注解的适用范围(如类,方法)
- @Documented:说明该注解被包含在javadoc中
- @Retention:用于表示需要在什么级别保存该注释信息,用于描述注解的生命周期(Source-class-Runtime)
- @Inherited:说明子类可继承父类中的该注解
3.自定义注解
使用@Interface,配合元注解来进行自定义
4.反射
- Reflection(反射)是Java被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。
- 加载完类后,在堆内存的方法去就产生了一个Class类型的对象(一个类只有一个Class对象),这个对象包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。
- 优点:可以实现动态创建对象和编译,体现很大的灵活性。
- 缺点:对性能有影响。使用反射基本是一种解释操作,我们可以告诉JVM,我们希望他做什么并且它会满足我们的要求。但不如我们直接操作快。