JDK1.5的新特性

1.JDK 的新特性性有:(1)静态导入(2)可变参数(3):增强fof循环(4):基本数据的自动装箱与拆箱(5):枚举等

(1):静态导入:导入一个类中的静态方法:import static 语句。导入一个类中的单个或所有静态方法:例如:导入java.lang.Math中的所有静态方法:

import static java.lang.Math.*;

//调用Math类的静态方法

System.out.println(mas(3,6));

(2)可变参数:

特点:只能出现在参数列表的最后;"..."位于变量类型后变量名之间,前后有无空格都有;调用可变参的方法时,编译器会为该可变参数隐含创建一个数组,

在方法体中以数组的形式访问可变参数.

例如:public class Demo {
public static void main(String[] args) {
System.out.println(add(4, 10, 8));
}

public static int add(int x, int... args) {

int sum = x;
for (int i = 0; i < args.length; i++) {
sum += args[i];
}
return sum;
}
}

编译后得到结果:22

(3):增强fof循环

语法:for(type 变量名: 集合变量名){...};type的前面还可以加修饰符.注意事项:1.迭代变量必须在()中定义! 2.集合变量可以是数组或实现了Iterable接口的集合类

例如:使用增强for循环改写上面的add()方法:

public static int add(int x, int... args) {

int sum = x;
for (int arg  :args) {
sum += arg;
}
return sum;
}
编译后结果:22

(4):基本数据的自动装箱与自动拆箱,

//自动装箱:

Integer numObj=16;

//自动拆箱:

System.out.println(numOb+16j);

//基本数据类型的对象缓存

System.out.println(num1==num2);

享元设计模式():Flyweight):如果很多很小的对象,他们有很多相同的东西,这时你可以把他变成一个对象,还有些不同的可以变成外部属性,作为方法的参数传入.

(5):枚举:它可以对类似的相同类型的对象同时进行声明,方便程序的调用。作用:由于枚举的统一性,使得开发人员编写的代码量大大减少了,同时增加了程序的阅读性和修改性,枚举的定义:enum {  枚举值表  };例如:

public class EnumDemo {
public static void main(String[] args) {
for (Color co : Color.values()) {
System.out.print(co+" ");
}
}
public enum Color {
RED, GREEN, BLUE;
}
}//输出结果:

实际上,在枚举的定义过程当中,定义枚举相当于定义一个Java类,枚举中的每个元素相当于枚举的对象。

在Switch语句中使用枚举:

public class EnumDemo {
public static void main(String[] args) {
switch (Color.RED) {
case RED: {
System.out.println("红色");
break;
}
case GREEN: {
System.out.println("绿色");
break;
}
}
}
public enum Color {
RED, GREEN, BLUE;
}
}

深入理解枚举:枚举的构造方法:

public class EnumDemo {
public static void main(String[] args) {
Color col=Color.BLUE;
System.out.println(col.getName());
}


}
 enum Color {
RED("红色"), GREEN("绿色"), BLUE("蓝色");

private String name;

public String getName(){return name;}

public String setName(String name){return this.name=name;}
//枚举的构造函数,必须定义在枚举元素的后面
Color(String name) {
this.setName(name);

}
}//输出结果为蓝色

在枚举中定义抽象方法:

public class EnumDemo {
public static void main(String[] args) {
for(TrafficLamp tr:TrafficLamp.values()){
System.out.print(tr+" ");
}
}
public enum TrafficLamp
{
RED(30){public TrafficLamp nextLamp(){return RED;}},
Green(45){public TrafficLamp nextLamp(){return YELLOW;}},
YELLOW(5){public TrafficLamp nextLamp(){return Green;}};
public abstract TrafficLamp nextLamp();
private int time;
private TrafficLamp(int time) {this.time = time;}
}
}//输出结果:RED Green YELLOW 

总结:枚举在生活中应用非常广泛,所以说也非常的重要,且当枚举只有一个成员时,就可以作为一种单例的实现方式!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值