java1.5的新特性

java1.5的新特性。

java作为一门语言,是sun公司出品,这门语言有自己的语法规范。同时围绕着这门语言有一些基本的类库来供大家使用。

一门程序设计语言,可以简单的认为包含两部分,一个是基本的语法规则(包括关键字),另一个是用来支持这门语言的
一些系统级得到基础类库。

所以,一门程序设计语言是可以不断被升级更新的,升级更新后的语言可能会增加新的语法规范。

java1.5和java1.4作为不同版本的java语言,就有些不一样的地方:

所以就有java1.5的新特性需要掌握:

1、java1.5支持静态导入(import static)

静态导入(import static):用于导入一个类中的一个成员,或者一个类中的所有成员。

普通导入(import):用于导入一个类,或者一个包中的所有类。

例如:import static java.lang.Math.abs;

2、java1.5支持可变参数
实现原理:由编译器隐含的创建一个数组来封装实际参数,传递给可变参数。可变参数相当于一个数组引用。
所以可以在含有可变参数的方法中将可变参数当做数组引用来使用。

好处:省去了在定义实际参数的过程中手动的new对象。只能替代很小的一类重载情况(即参数的类型相同,而个数
不同)。

规范:必须将可变参数定义在参数列表的最后一个参数位置上。
“数据类型 ... 参数名”

例子:void method(int x,int ... args){}

3、java1.5支持增强for循环
实现原理:底层本质上仍是使用迭代器(iterator)来实现的。

规范:“for(数据类型 变量名 :集合名(或者返回集合的表达式)){......}”
“变量名”必须在for()中定义,不可以定义在其他位置。
“集合名”必须实现iterable接口。

注意:数组也是一种集合。固定长度的集合。

例子:for(int arg : args){}

4、java1.5支持基本数据类型的自动装箱和拆箱

好处:使得基本数据类型和对象之间的转换无需手动操作,由系统自动完成。

例子:Integer iObj = 3;

注意:位于-128~127之间的数字(即用一个字节即可表示的数字),在被封装成对象(无论手动装箱还是
自动装箱)时,都会被放到缓存池中。当再封装一个该数字的对象时,不会再新创建一个对象,而会从
缓存池中直接取出对象来付给引用。例如:“Interger i2 = 4; Integer i3 = 5;”,i2和i3的引用相同,即值
相同。

什么是享元设计模式:
当存在很多小对象,他们的属性大部分相同,只有少数属性不同,而且这些小对象被创建后就很少改变他们的值
。这时可以将他们定义为一个对象,将少数不同属性作为对象的外部状态,即定义为对象方法的参数,由外部指定。
相同属性定义为内部状态,即定义为对象的成员。使得只需要创建一个对象,被多次使用就可以了。

5、枚举(后面单独详细讲)

6、泛型(后面单独详细讲)

时间: 2024-11-05 14:48:49

java1.5的新特性的相关文章

01.Java1.5的新特性

一.静态导入 ????将一个类中的静态方法和静态变量导入另一个类中 package JDK_New_Characters; ? import static java.lang.Math.*;//静态导入就相当于将Math中的静态方法和静态变量都放到 //了StaticImport中,所以StaticImport可以直接使用这些方法和变量 ? public class StaticImport { ????public static void main(String[] args) { ?????

java强化篇(一)---java 1.5的新特性

Java1.5的新特性 1.     快捷键使用技巧 快捷键的位置:General->keys,设置alt+/键(丁:content a 就会搜索出)进行内容提示时,要注意解除alt+/键原来的绑定关系,直接输入alt+/就可以找到它的绑定关系,删除绑定关系时也可以使用remove binding这个按钮. 1.显示系统提示:ALT+/ 2.程序代码自动排版:Ctrl+Shift+F(jsp文件是全部重排,java文件是可以对选定的代码重排) 3.自动汇入所需要的类别:Ctrl+Shift+O(

java1.8新特性(一)

一直在更新java 版本,原来也没有关注java版本的变化 引入的一些新的api  引起注意的还是  关于一些并发包的使用,那时候才对每个版本的特性 去了解了一下,虽然 不一定都用上了,但是不管学习什么语言,花点时间学习新的api还是很有必要的,在工作中 还用一些 1.8的新特性,但是 始终 是 不明白.总是有问题,特意花些时间 去重点学习一下,如果其中 有什么说的不对,请一定要提出来! 用户 对象 User: package com.java; public class User { Stri

了解Java1.8新特性

前几天电脑上的JDK自动更新到1.8,这两天了解了一下JDK1.8的一些新特性.下面就来浅谈一下我所了解的. 我们都知道,Java是不能多继承的,但是可以多实现.它与C++不同,C++是可以多继承的.尽管Java可以实现多个接口,但是接口中只能有抽象方法,不能有具体的实现.但是在JDK1.8中,接口里新增了默认方法.可以对默认方法进行具体的实现,但是这个方法必须是default.看下面这段代码: 1 interface AA{ 2 public int add(int a,int b); //申

java1.4升级到java1.5 新特性

前几天和一位腾讯的技术大牛聊天,聊到关于jdk的很多支持,包括jvm的优化,gc的调用机制,1.4-到1.8每次升级版本的新特性等,做软件这行这么多年了,一直在使用java,但是却从来没有细细的研究每个版本新特性到底有什么不同,所以特意编写了这么一篇文档,让自己能了解些他们的新特性,也共享一下新特性的改变,当然我下面的验证并不能当做最官方的,但最起码我是一个一个实验了,如果存在问题或解释的不正确的,也劳烦各位大牛给予指正. 目前我下载的jdk版本,如果大家需要这些版本的话,后期我会上传到百度云上

从java1到java9每个版本都有什么新特性?

每次出新版本,大家大概都会这么问,"Java X会有什么特性呢?" .在下面的内容里,我总结了至今为止的Java主要发行版中各自引入的新特性,这样做的目的是为了突出各个新特性是在哪个发行版中引入的.除了列出的特性外,每个发行版还做了很多优化和修复BUG的工作. Java 9 请参考: http://www.techug.com/post/java-9-features-with-examples.html Java SE 8 Java 8是于2014年3月14号发布.从Java 8开始

ygRan Java1.0-1.11各个版本的新特性

JDK Version 1.01996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.11997-02-19 JDBC(Java DataBase Connectivity);支持内部类;RMI(Remote Method Invocation) ;反射;Java Bean;JDK Version 1.21998-12-08 Playground(操场) 集合框架;JIT(Just In Time)

Java1.0-1.12各个版本的新特性

JDK Version 1.0 1996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.1 1997-02-19 JDBC(Java DataBase Connectivity);支持内部类;RMI(Remote Method Invocation) ;反射;Java Bean; JDK Version 1.2 1998-12-08 Playground(操场) 集合框架;JIT(Just In T

Java8部分新特性的学习

Java8中的新特性 一.Lambda表达式 Lambda表达式可以理解为一种可传递的匿名函数:它没有名称,但又参数列表.函数主体.返回类型,可能还有一个可以抛出的异常列表. 匿名:和匿名类类似的,它没有明确的名字 函数:Lambda函数不属于某个特定的类,但和方法一样都具有参数列表.函数主体.返回类型,还可以有抛出的异常列表 传递:Lambda表达式可以作为参数传递给方法或者存储在变量中. Lambda表达式的基本形式: (parameters)-> expression 或(paramete