基本数据类型的装箱和拆箱Integer iobj=3;//装箱 相当于编译器自动完成 Integer i=new Integer(3); System.out.println(iobj+12);//拆箱 自动转化基本数据类型的过程享元模式:就是有很多小的对象或方法,它们有很多相同的东西,那么我们就可以把相同的变成一个对象,并将哪些不同的东西变成外部的属性,作为方法的参数输入。枚举:关键字是enum,可以看着是特殊的class, 可以有自己的变量,可以定义自己的方法,可以实现一个或者多个接口,不能有public的构造函数,所有的方法都必须放在元素列表之后但可以定义private的构造函数注意的是:所有枚举值都是public , static , final的。eg://含抽象法的枚举public enum TrafficLamp{ RED(20){ public TrafficLamp nextLamp(){ return GREEN;} } , GREEN(20){ public TrafficLamp nextLamp(){ return YELLOW;} }, YELLOW(15){ public TrafficLamp nextLamp(){return RED; } } ; public abstract TrafficLamp nextLamp(); private int time; private TrafficLamp(int time){this.time=time;};}--------------------------------------------------------------------------语言里的动态:一般指程序运行时,容许改变程序结构或变量类型,这种语言称为动态语言Reflection,意思是“反射、映像、倒影”,在java中指的是我们可以在运行时加载、探知、使用编译期间完全未知的classes.即:java程序可以加载运行一个运行时才得知名称的class,获悉其完整的构造,并生成其对象实体、或对其fields设值、或唤起其methodsl.反射的基石:Class类,用来表达Java程序运行时的classes和interfaces,也用来表达enum/array/private Java types(8个基本类)/关键词void。当一个class被加载,或当加载器(class loader)的defineClass()被JVM调用,JVM便自动产生一个Class object.java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class字节码就是Class的实例对象获得字节码的3种方法pl.getClass();//pl指对象Class.forName("类名")//做反射主要用这种Class cls=Person.class//得到Person实例的字节码Class cls1=字节码1;Class cls2=字节码2;数组类型的Class实例对象:Class.isArray():总之:只要是在源程序中出现的类型,都有自己的Class实例对象。