JavaSE-注解与反射
1、内置注解
@Override 重写
@Deprecated 过期,不建议使用
@SuppressWarnings 抑制警告
2、元注解
元注解是注解其他注解的注解
@Target(value=' ...') 表示在什么范围内有用
@Retention 表示注解需要在什么级别保存该注释信息 SOURCE @Document 表示该注解将被包含在javadoc中 @Inherited 表示子类可以继承父类中的注解 3、自定义注解 (public) @interface 注解名{定义内容} 4、静态语言vs动态语言 动态语言:是一类在运行时可以改变其结构的语言,如python,C#、js、PHP 静态语言是运行时结构不可变的语言,如Java,c,c++ Java又可以称之为准动态语言,因为Java中的反射机制可以使其成为动态语言 5、Class 一个类只有一个Class对象 (1)创建类的Class的方式 (2)哪些类型可以有class对象 class类/infterface/数组[]/... 注意:只要类型一样,就是一个Class,hashcode都是一样的 1 public class Test{
2 //测试Class类的创建方式有哪些
3 public static void main(String[] args) {
4 //方式1:通过对象.getClass()获得
5 Person person1 = new Person();
6 Class> c1 = person1.getClass();
7
8 //方式2:通过Class.forName("包名")
9 Class c2 = Class.forName("com.kuang.Student");
10
11 //3、通过类名。class获得
12 Class c3 = Person.class;
13
14 //c1.hashCode(), c2.hashCode(), c3.hashCode()一样,表示只有一个Class
15
16 }
17 }