Java加强

 jdk1.5的新特性
1.静态导入: for example:import static java.lang.Math.*;
  System.out.println(max(3,4);
            这样就可以直接把Math这个类中的静态方法直接导入进来,
  调用时就可以不用写类名了更加方便

2.可变参数:for example: public static int add(int a, int ...args){
   int sum = a;
   for(int =0; i<args.length;i++){
   sum += args[i];
   }
   return sum;
      }
     只是最后一个参数,以数组的方式返回可变参数

3.增强的for循环 :for(类型  变量名:集合变量名){...}
   迭代变量必须在()中定义!
   集合变量可以是数组或实现了Iterable接口的集合类。
   for example: for(int arg: args){
   System.out.println(arg); 
   }

4.自动装箱与拆箱及享元设计模式:for example:  integer i = 3;(自动装箱)  System.out.println(i+3);(自动拆箱)
 flyweight-->(享元设计模式) integer i = 11;  integer i1 = 11;  i==i1---->true;
              integer i = 136  integer i1 = 136;  i==i1---->false;
 因为i的值在byte之内,所以像字符串一样存起来了装成了一个对象,方便以后使用。

5. 枚举
      定义枚举:和构造方法(必须放在元素列表之后,权限必须为private)
 public enum weekDay{
     SUN, MON, TUE,WED,THI,FRI,SAT;
     private WeekDay(){}
     private WeekDay(int Day){} 
 }

       应用枚举:
        weekDay wd = weekDay.SUN;......取得相应的枚举对象。很方便的
 weekDay wd = weekDay.valueof("SUN");将字符串转成相应的枚举对象;
 weekDay[] arr = weekDay.value();还可以将枚举中的各个对象放在一个数组中,方便迭代的取出,可以使用加强的for循环;
 
 实现有抽象方法的枚举: 每个对象后面必须要加上{},这是一种接口式的写法;实现抽象方法。构造方法如果有参数则对象必须要加(args)这个可以想到。下面所示:
 
 public enum TrafficLamp{
  RED(30){
   public TrafficLamp nextLamp(){
   return GREEN 
   }
  },
  GREEN(45){
   .......
  },
  YELLOW(5){
   .......
  };
  public abstract TrafficLamp nextLamp();
  private int time;
  private TrafficLamp(int time){this.time = time}
  }
 
 枚举只有一个成员时,可以作为单例模式使用。(重点)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值