• Java基础加强-jdk1.5的一些新特性


    JDK 5.0 特性

    1.静态导入(import static 语句导入一个类中的某个静态方法或所有静态方法)

    如: import static java.lang.Math.*;


    2.可变参数

    1. 只能出现在参数列表的最后

    2. ...位于变量类型和变量名之间,前后有无空格都可以

    3. 调用可变参数方法时,编译器为该可变参数隐含创建一个数组,在方法体中以数组的形式访问可变参数

    3.增强for循环 for (type 变量名:集合变量名){...}

      1.迭代变量必须在()中定义

      2.集合变量可以是数组或实现了Iterable接口的集合类

      

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

    Integer i1 = 10;

    Integer i2 = 10;

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

    ( /*这些小数字(一个字节 -127~128)使用的频率可能会比较高,所以,不必为每个数字赋一个对象,而是第一次将这些小数字包装成对象后,便将其缓存到一个池中,下次

    要把这些小数字装成Integer对象,就往池里面找,池里面有的话,就从池子里面拿,不封装成对象*/)

    Integer i3 = 138;

    Integer i4 = 138;

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

    享元设计模式 (flyweight):

    有很多个小的对象,对象之间有很多属性相同,把这些小对象 变成一个对象,那些不同的属性将其变成该大对象方法的参数,称之为外部状态,相同的属性称之为内部状态

    如:在编辑中的一些字母数据,不会每写一个字母,就创建一个对象,而是创建26个对象,对应26个字母,这26个对象有很多属性(如都是a)相同,但是位置(x坐标,y坐标)不同

    可以为26个对象设置一个display(int x,int y)方法,

    5.枚举(枚举可以编译器在编译时就可以控制源程序中填写非法值,普通变量的方式在开发阶段无法实现这一目标)

      用普通类如何实现枚举功能,定义一个Weekday的类来模拟枚举功能

      1.私有的构造方法

      2.每个元素分别用一个公有的静态成员变量表示

      3.可以有若干公有方法或一个抽象方法 例如:要提供nextDay方法必须是抽象的,采用抽象方法定义nextDay就将大量的if..else语句转移成了一个个独立的类

      枚举是一种特殊的类,其中的每个元素都是该类的一个实例对象,例如可以调用WeekDay.SUN.getClass.getName 和WeekDay.class.getName().

      java5的枚举的基本应用

      Weekday weekday = Weekday.SUN;

      weekday.xxxxx();

      public enum {SUN,MON;}

      带有构造方法的枚举

    //1.枚举类构造函数权限必须为私有 2.构造函数要放到静态变量后面

    带有抽象方法的枚举

    public abstract Light nextLight();

    RED(60){

    @Override

    public Light nextLight() {

    return GREEN;

    }

    }

  • 相关阅读:
    Redis 服务端程序实现原理
    Redis 中的客户端
    Redis 中的数据持久化策略(AOF)
    Redis 中的数据持久化策略(RDB)
    Redis 中的数据库
    Redis 的底层数据结构(对象)
    Redis 的底层数据结构(压缩列表)
    Redis 的底层数据结构(整数集合)
    又离职了~
    如何救活被屏蔽的主机,继续开发工作
  • 原文地址:https://www.cnblogs.com/xuzekun/p/7354640.html
Copyright © 2020-2023  润新知