前言
一、注解
- 注解不影响程序逻辑,但会被编译器在不同阶段(编译、执行)执行;
例如,@Override
注解会在编译时执行,用来检验代码是否符合规范,给一个函数加上@Override
,如果函数没有重载,就会报编译错误; - 注解又被称为元数据,用于修饰包、方法、属性、构造器、局部变量等数据信息;
@Override
:提示某个函数重写基类的某个函数;@interface
:定义一个注解- 元注解
二、反射
1、作用
- Java 编译于运行过程:Java 源码 —(编译)–> Java 字节码 —> 加载类(因为 Java 的代码是由一个一个类组成)—> 执行;
- :对于一个大型 Java 项目,当我们想修改其中的一小段代码时,可以通过反射机制只修改这一段代码的逻辑,然后将需改后的代码加到原项目中,无需像 C++ 一样修改一段代码,需要编译整个项目;
- 项目中某个类需要频繁修改,修改完这个类无需重新打包整个项目,可以在项目中动态加载这个类;