JavaSE中 注解和反射技术
注解和注释不是一回事
注释是给人看的信息,是代码的解释说明,不参与程序执行
注解是给程序看的信息,是代码的解释说明,参与程序运行
注释的语法 (可以写在任何地方)
//单行注释
---------------------------
/*
*多行注释
/*
---------------------------
/**
*文档注释(生成项目文档)
/*
注解的语法 (只可以用在类/接口、属性、方法、参数身上,可以参与编译和执行)
@注解
@Override
用于检查方法是否满足重写的规定,
如果满足则是重写,运行时多态
发生在子类和父类之间,抽象方法必须重写非抽象的可以重写可以不重写
1.参数列表 类型和个数必须完全相同
2.修饰符 子类>=父类
3.返回值类型 子类<=父类
4.异常类型 子类<=父类
重载 -- 编译时多态
发生在同一个类中
方法名相同,参数列表不同(可以是参数类型不同,也可以是参数个数不同)
与修饰符,返回值类型,异常无关
如果不满足则该方法是子类特有方法
内置注解
jdk官方给我们提供的注解,我们可以使用,例如@Override
三方库或者中间件给我们提供的注解,可以使用,
例如安装junit依赖,可以使用@Test @Before @After
例如安装servlet-api依赖,可以使用@WebServlet注解
自定义注解
基本用不到
元注解
注解注解的注解
动词: 用一个注解来解释程序
名词:注解是一种Java源文件
@Target
@Retention
@Inherited
反射技术