jdk1.5新特性(-)



EclipseMyEclipse的区别与联系?

Workspaceproject的关系?

英文缩写的全称

Jdk-----Java Development Kit

IDE----Integrated Development Environment(集成开发环境)

Java EE--- java 2 Platform Enterprise Edition(企业版平台)

Jvm---Java Virtual Machine

Jms----Java Message Service (java消息服务)

Jmx----Java Management Extensions

Jndi----Java Naming and Directory Interface

 

Jdk5.0新特性:

1.    静态导入

对于类的静态方法我们可以想导入类一样导入静态方法,此时我们可以直接调用此静态方法,而不用加上类名或对象引用,也可以将某个类的手游静态方法都引入,用*号,与引入一个包中的所有类时类似的

例如

import static java.lang.Math.max;

import static java.lang.Math.*;

 

public class haha{

public static voidmain(String[] args){

        int a =max(3,5);

       

        int b =abs(-78);

       

        System.out.println("a= "+ a +"  " + " b =" + b);

}

2.    可变参数列表

可变参数列表顾名思义即参数的长度是不确定的。在5.0之前用的是数组,其实5.0底层用的也是数组

Public static int  add int a ,int …args{

        int sum = a;

        for(int i =0;i<args.length;i++){

               sum+=args[i];

}

}

3.    增强的for循环

for(变量类型变量名集合)

此处的集合必须是实现了Iterator接口的集合

public class Enhancefor {

 

    /**

     * @paramargs

     */

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stub

       int[] arr = {1,2,3,4,5,7,9};

        for(int i : arr)

        System.out.println(i);

    }

 

}

/*

 * 增强的for

 * for(type 变量名:集合变量名)

 *

 */

 

4.    基本数据类型的自动封装与拆包

Jdk5.0以后基本数据类型与对应的包装类之间可以自动转换

5. public class AutoBox {

6.  

7.  /**

8.   * @paramargs

9.   */

10. public static void main(String[]args) {

11.    // TODO Auto-generated method stub

12.          IntegeriObj = 11;

13.         

14.          System.out.println(iObj +13);

15.         

16.          /*-128-127之间的Integer对象都是同一个对象享元模式

17.           *

18.           * */

19.          Integeri1 = 13;

20.          Integeri2 = 13;

21.          System.out.println(i1 == i2);

22.         

23.          Integeri3 = 137;

24.          Integeri4 = 137;

25.          System.out.println(i3 == i4);

26.         

27.          Integeri5 = Integer.valueOf(13);

28.          Integeri6 = Integer.valueOf(13);;

29.          System.out.println(i5 == i6);

30.         

31.          Integeri7 = Integer.valueOf(137);

32.          Integer i8 = Integer.valueOf(137);

33.          System.out.println(i7 == i8);

34.         

35.         

36. }

37. 

38.}

 

运行结果:

 

24

true

false

true

false

享元模式(flyWeight):有很多个小对象他们有很多属性相同,可以把他们变成一个对象,那些不同的属性作为方法的参数称之为外部状态,相同属性称之为内部状态

-128-127子类的整数都只有一个对象存在于内存中,这里就用到了享元模式

 

1.    枚举(enum

枚举其实就是一个类,而这个类的对象是由该类自己决定的若干个对象或子类对象,也就是说我们不能通过其构造方法创建对象,而要通过枚举类本身来得到相应的对象。

 

枚举元素上必须在类的首行,其元素其实就是此类的对象或子类对象,构造方法必须是private的。我们可以在元素的后面跟上相应的参数来决定用哪个构造函数

例如:

import java.util.Arrays;

 

public class EnumTest {

 

    /**

     * @paramargs

     */

    public static void main(String[] args) {

       // TODO Auto-generatedmethod stu

       Weekday weekday = Weekday.THU;

       System.out.println(weekday);

       System.out.println(weekday.name());

       System.out.println(weekday.ordinal());

       System.out.println(Weekday.valueOf("SUN"));

       System.out.println(Arrays.toString(Weekday.values()));

    }

   

    public enum Weekday{

      

       SUN(),MON,TUE(3),WED,THU,FRI,SAT;

      

       private Weekday(){//枚举的构造方法只能是private

           System.out.println("FIRST");

       }

       private Weekday(int a){

           System.out.println("SCONED");

       }

    }

}

运行结果:

FIRST

FIRST

SCONED

FIRST

FIRST

FIRST

FIRST

THU

THU

4

SUN

[SUN, MON, TUE, WED, THU, FRI, SAT]

如果枚举只有一个成员就可以认为是是一个单例的实现方式


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值