枚举
枚举类包含类的全部功能
简单的枚举类
无法new出来新的实例
枚举里面一般都是私有,只允许读不允许改,只有访问器
对象是受限制的
AA,BB,CC,DD,EE是DD类中的5个对象,枚举的对象有限个,他的其他用法和普通类都一样
反射
1.Class
class获取类型信息
.getClass()Class
.forName(Object)
根据类的路径获取class信息
反射:通过类信息获取类的实例的方式:newInstance()
一个程序没有主方法没有办法独立运行,必须依托于另外一个程序,像是Servlet是依托于Tomact
任何非静态方法之前生成类的实例,非静态方法只能通过实例调用
tomcat比servlet出现早
注解:运行期间,在内存中给你加一个标记记号,通过反射可以将这个标记拿出来
开发者不知道运行者会创建什么实例,无法通过new来拿到实例,只能通过反射来拿到实例
反射能获得类的一切信息(包括注解信息)
printMethods:打印所有方法
类、属性、构造方法都可以加注解、AN开头都是注解
框架的核心全都是反射加代理
能不能通过反射获得一个类的私有信息?
能,但是要修改值为true
传什么类型的数组就是什么类型的数组
泛型数组
java自带的泛型数组ArrayList<>,arr.add("adss");添加元素,下面的for循环是遍历,size是指长度
泛型数组的扩容
Java中,如果某个地址没有被人任何量或地方记录,那么他就会被删除