------- android培训、java培训、期待与您交流! ----------
静态导入
1.import语句可以导入一个类或某个包中的所有类
2.import static语句导入一个类中的某个静态方法或所有静态方法
可变参数
可变参数的特点:
1.只能出现在参数列表的最后;
2. ...位于变量类型和变量名之间,前后有无空格都可以;
3.调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,
在方法体中以数组的形式访问可变参数。
增强for循环
(1) 语法:
for(type 变量名:集合变量名) {... }
(2) 注意事项
1.迭代变量必须在()中定义
2.集合变量可以是数组或实现了Iterable接口的集合类
基本数据类型的自动拆箱与装箱
(1) 自动装箱
Integer i = 25;
(2) 自动拆箱
System.out.println(i+30);
(3) 基本数据类型的对象缓存
(4) 享元模式(flyweight)
享元模式以共享的方式高效的支持大量的细粒度对象。享元模式能做到共享的关键是区分内蕴状态和外蕴状态。内蕴状态存储在享元内部,不会随环境的改变而有所不同。外蕴状态是随环境的改变而改变的。外蕴状态不能影响内蕴状态,它们是相互独立的。将可以共享的状态和不可以共享的状态从常规类中区分开来,将不可以共享的状态从类里剔除出去。客户端不可以直接创建被共享的对象,而应当使用一个工厂对象负责创建被共享的对象。享元模式大幅度的降低内存中对象的数量。
枚举
枚举的基本应用:
![](https://img-my.csdn.net/uploads/201212/02/1354437032_5783.png)
实现带有构造参数方法的枚举
实现带有抽象方法的枚举
反射
Java程序中的各个Java类属于同一类事物,描述这类事物的Java类名就是Class
如何获得字节码对应的实例对象(Class类型):
总之,只要是在源程序中出现的类型,都有各自的Class实例对象,如:int [] void
![](https://img-my.csdn.net/uploads/201212/02/1354437260_1621.png)
构造方法的反射应用:
![](https://img-my.csdn.net/uploads/201212/02/1354437295_9349.png)
成员变量的反射应用:
成员方法的反射应用:
Method类代表某个类中的一个成员方法。 如果传递给Method对象的invoke()方法的第一个参数为null,说明Method对象对应的是一个静态方法。
对接收数组参数的成员方法进行反射:
Method对象的参数如果是非基本类型数组时,会被拆分成多个对象,此时会抛出 IllegalArgumentException 异常。