- 反射类概念
类中的方法 :存放在Class(method table)中,它的头部是元数据,只存一份,不会因为多个实例化创建多个
类中的字段:存放在堆里面,多个实例化会创建多个
Class类 是反射的入口,可以在运行时拿到类里面的很多信息(filed / method / type / annotations等)
在运行时实例化类型
- 获取类Class
Employee.getClass()
Employee.class
- 获取类
Class.forName(com.cultivation.javaBasic.util.Employee)
- getMethods 和 getDeclaredMethods 区别
getMethods: 本类 / 继承类 / 实现类的public method,如果重写了方法,则只会拿到本类的方法
getDeclaredMethods: 本类声明的所有方法(public / protected /default / private),不包含继承的方法。
网友评论