20180119标注和反射之一
标注和反射
标注在代码中起到说明和配置的作用,在框架方面有应用,用来简化程序的配置。
反射用于程序运行期间动态获取指定类的内部信息,也可以通过反射创建类的对象、属性、调用方法等。
标注:它可以添加到代码的任何元素(方法、属性等)上,用来设置一些说明和解释。 java开发或部署工具在程序编译或运行的时候会读取或解析这些标注,并处理,如生成程序配置信息等。标注在程序起到了辅助性的作用。
元数据(Metadata):用来描述数据的一种数据。元数据对源代码的描述,即标注。
一 JDK内置标注
格式: @标注类型名称
如:@SuppressWarnings(values={“unchecked”})就是SuppressWarnings标注
类型使用的一个实例。
标注类型:某一类型的标注的定义,类似于类。
标注:某标注类型的一个具体的实例,类似于类的实例。
java.lang包中预定义了3个标注,分别是Override 、Deprecated 和suppressWarnings。
1.@Override
用于覆盖父类的方法,用于重写的,编译器编译时会检查@Override标注方法是否覆盖了父类的方法,如果没有则会报错。
如:
class Parent{ public void myMethod(){ System.out.println("parent.myMethod()"); } } class Sub extends Parent{ @Override public void mymethod(){ System.out.println("Sub.mymethod()"); } } 测试类: public class OverrideTest{ public static void main(String[] args) { Parent clazz=new Sub(); clazz.myMethod(); } }
/*这时候编译就会报错,如果没有@Override,就不会报错,但运行结果不是我们的初衷。
*/
成年人的世界没有那么多的童话,也没有那么多的逆袭。