---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
1:静态导入。2:for-each循环。3:自动装包/拆包。4:可变参数。5:枚举。6:泛型
1,静态导入
2,for-each循环
public static int add(int x,int ...args) {
int sum = x;
for(int arg:args) {
sum += arg;
}
return sum;
}
3,自动装箱/拆箱
Integer num1 = 12;
Integer num2 = 12;
System.out.println(num1 == num2); //true
Integer num3 = 129;
Integer num4 = 129;
System.out.println(num3 == num4); //false
Integer num5 = Integer.valueOf(12);
Integer num6 = Integer.valueOf(12);
System.out.println(num5 == num6); //true
Flyweight(享元)模式是构造型模式之一,他通过与其他类似对象共享数据来减少内存占用。也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。在Flyweight模式中,由于要产生各种各样的对象,所以在Flyweight模式中常出现Factory模式。Flyweight的内部状态是用来共享的,Flyweight factory负责维护一个对象储存池(Flyweight Pool)来内存内部状态的对象。为了调用方便,FlyweightFactory类一般使用Singleton模式实现。Flyweight模式是一个提高程序效率和性能的模式,会大大加快程序的运行速度。
Flyweight模式的有效性很大程度上取决于如何使用它以及在何处使用它。当一下情况成立时使用Flyweight模式:1,一个应用程序使用了大量的对象。2.完全由于使用大量的对象,造成很大的储存开销。3,对象的大多数状态都可以变为外部状态。4,如果删除对象以外的状态那么可以用相对减少的共享对象取代很多组对象。5,应用程序不依赖于对象标识。
4,可变参数
Overlead重载 Override重写
特点:
只能出现在参数列表的最后
...位于参数类型和参数名之间,前后有无空格都可以
调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数。
举例代码:
public static void main(String[] args) {
System.out.println(add(1,2,3,5));
System.out.println(add(2,3,5));
}
public static int add(int x,int ...args) {
int sum = x;
for(int i=0;i<args.length;i++) {
sum += args[i];
}
return sum;
}5,枚举
public class EnumTest {
public static void main(String[] args) {
WeekDay wd=WeekDay.Monday; //WeekDay相当于一个类了,
System.out.println(wd); //利用.来调用里面的对象
System.out.println(wd.ordinal()); //排序从0开始
System.out.println(WeekDay.valueOf("Sunday")); //利用枚举来调用静态方法
System.out.println(WeekDay.values().length); //values()就是所有元素组成的数组
}
public enum WeekDay{
Sunday(0),Monday(1),Tuesday(2),Wednesday(3),Thursday(4),Friday(5),Saturday(6);
private WeekDay(){ //后面定义了构造函数后,枚举对象后必要有;
System.out.println("first"); //在使用类时,在第一处就要调用构造函数进行初始化
}
private WeekDay(int x){
System.out.println("second"); //对对象的初始化,在选择构造函数时要根据对象后面的参数形式
}
private WeekDay(int x,int y){
System.out.println("third");
}
}
public class EnumTest {
public static void main(String[] args) {
TraficLamp tl = TraficLamp.RED;
System.out.println(TraficLamp.RED.time); //该灯需要的时间
}
6,泛型
---------------------- ASP.Net+Android+IOS开发、.Net培训、期待与您交流! ----------------------
黑马程序员_java基础笔记(10)...JDK1.5的新特性
原文:http://www.cnblogs.com/In-order-to-tomorrow/p/3549228.html