一、增强的for循环
这只是一个很小的语言改进,来源于vb等语言中的foreach语句,因此有人也称其为foreach增强。它可以作用于集合类,数组等。
如:int[] a={1,335,59,9,4,8};
for(int i:a)
system.out.println(i);
和
Set<Integer> set=new Set<Integer>();
for(int i=0;i<10;i++)
set.add(i);
for(Integer I:set)
system.out.print(i);
二、自动装箱和拆箱
运行时系统可以直接在基本类型和对应的包装类之间转换。
如
Set<Integer> set=new Set<Integer>();
for(int i=0;i<10;i++)
set.add(i);
for(Integer I:set)
system.out.print(i);
就使用了int和Integer之间的自动转换。
三、可变参数列表
说的了就是可以使用不确定个数的参数,主要用于函数
如
fun(double... a){
for(double d:a)
system.out.print(d);}
它的标志性语法就是类型后连着三点。
在此以前java中也可以用数组参数来达到相关的效果。但是可变参数更有表达力。
四、
协变返回
就是可以在覆盖函数的时候用原来函数的返回类型的子类来替代
如:
Object pop(){}
@Override
Integer pop(){}
上面两个函数在java5中是可以运行的。
五、枚举
java中的枚举是类型安全的,但是它是一个类Enum的子类,因此它不能再继承其它类,且java的enum比c的enum功能更强大,而且在是很复杂。与枚举有关的有一个静态导入(static import)
,它是在当前的文件中你可以直接使用它的实例名,而不用加上enum类型名。enum指的是实例集合。
六、泛型
泛型也是参数类型,和c++中的模板(template)有相似的地方,但是java中的泛型功能要弱得多,而且很难自己写泛型。希望在java7中改进。
如
Collection<String> c = new ArrayList<String>();
但是ArrayList<Object> arr=new ArrayList<String>();却会出错。
而且支持?通配符和super, extends来指定边界。
七、注解(annotation)
注解可以说是java5中加入的最有前途的特性,是元数据,也就是可以用来表示其它数据的数据,但是它不是普通人可以驾驭的。
就像我在前例中使用的@Override,就是一个注解。
java6主要是在性能上做了改进,同时在swing上做了一些增加,如Desktop,SystemTray,SystemTrayIcon和启动动画。当然sun对java编译器,解释器做了很多增强。
分享到:
- 2009-06-06 16:58
- 浏览 721
- 评论(0)
- 论坛回复 / 浏览 (0 / 1312)
- 查看更多
相关推荐
### Java语言程序设计基础实训项目之我见 #### 关键知识点概述 在当前信息技术日新月异的时代背景下,Java作为一种广泛使用的编程语言,在软件开发、Web应用、移动应用等多个领域都发挥着重要作用。对于初学者而言...
Java 10 新特性简介 Java 10 是 Java 语言的一个版本,发布于 2018 年 3 月。在这个版本中,添加了一些新的特性和改进,例如本地变量类型推断(var 关键字)、垃圾收集器的改进等。这些新特性使得代码更加简洁高效...
描述中提到的"细小之处见真功"强调了解决这些谜题需要对Java的内在机制有深入的理解。chm、doc、pdf三种格式分别代表了电子书的不同版本,chm是Windows的帮助文件格式,doc是Microsoft Word文档,而pdf则是通用的...
Java 8是Java语言的一次重要更新,它引入了大量新特性以及API的改进,旨在提高Java开发者的生产力。以下是对Java 8新特性的详细知识点: 1. 默认接口方法(Default Interface Methods): Java 8允许在接口中使用...
Java语言恐怕是稳居网路应用程序语言的首选了,这都要归功于它高度的安全性以及跨平台的特性,几乎在目前所有的电脑平台上您都可以见得到Java的芳踪。过去很可能会有不少人抱怨Java虽然有著相当不错的跨平台以及安全...
Java 3DMenu 界面源码 5个目标文件 内容索引:Java源码,窗体界面,3DMenu Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都...
今 年 6月 7日 ,由 SUN公 司 和 台 湾 经 济 事 务 部 信 息 发 展 局, 台湾信 息 技 术 研究 所 等 单 位 牵 头 ,成 立 了 一 个 "Java联 盟 ", 参 加 的 有 22个 在 台 湾相 当 著 名 的 计 算 机公 司 ,并 在 台 ...
1. **全面性**:本书覆盖了Java 1.2版本中的大部分重要内容,包括Swing、新的集合系统等。 2. **实用性**:提供了320多个实用的Java程序实例,总代码量超过15000行。 3. **深度解析**:深入讲解了Java的高级理论,如...
1. **Java数据缓冲区(DataBuffer)**:在Java中,DataBuffer是用于存储各种类型数据的缓冲区,尤其在处理图像I/O时常见,如在`java.awt.image`包中的BufferedImage类中。DataBuffer提供了多种类型,如...
6. **网络编程**:介绍如何利用Java进行网络通信编程,包括TCP/IP协议、Socket编程等内容。 7. **图形用户界面**:探索Swing和JavaFX等GUI工具包的使用方法,帮助读者快速构建美观的用户界面。 8. **反射和代理**...
- **Java SE 5与SE 6新特性**:本书特别关注了这两个版本的新功能,例如枚举类型、自动装箱与拆箱、增强的for循环、泛型等。 - **集合框架**:详细讲解了Java集合框架的组成部分,如List、Set、Map等接口及其具体...
在Java中,绘图主要通过`Graphics2D`类实现,它是`Graphics`类的子类,提供了更多的绘图特性,如抗锯齿、平滑线等。开发者可能使用`Graphics2D`对象在画布上绘制直线、曲线、填充形状、设置颜色和线型等。 3. **...
5. **Java开发环境搭建**: - 下载并安装JDK。 - 设置环境变量JAVA_HOME,指向JDK的安装目录。 - 修改PATH环境变量,在其前部添加`%JAVA_HOME%\bin`,确保JDK的bin目录位于系统搜索路径中。 - 设置CLASSPATH环境...
### Java基础知识点总结 #### 一、Day_01Java开章 1. **计算机概述** - **计算机**:一种能够自动高速处理大量信息的电子设备。 - **计算机硬件**:指计算机系统中所有看得见摸得着的物理部件,如CPU、内存、...
这使得Java开发者也能充分利用RocksDB的高性能特性。 5. **lz4, bz2, zlib, zstd**: 这些都是数据压缩算法。在RocksDB中,它们用于对存储的数据进行压缩,从而节省存储空间并可能提高读写速度。lz4提供高速压缩和解...
6. **Tom Holland**:他认为这是他见过的最佳计算机书籍写作之一。 7. **Ravindra Pai(甲骨文公司SUNOS产品线)**:他认为这是他读过的关于编程语言的最佳书籍之一,并称其为关于Java的最佳书籍。 8. **匿名读者**...
Java Swing 是Java GUI(图形用户界面)编程的一个重要库,它是Java AWT(Abstract Window Toolkit)的扩展,提供了更为丰富的组件和更灵活的设计。Swing 使用轻量级组件,可以在没有本地窗口系统的情况下运行,因此...
9. 命名规则:Java的命名规则要求变量名、方法名和类名要见名知意,类成员变量遵循驼峰命名法且首字母小写,常量全大写并用下划线分隔,类名首字母大写,方法名首字母小写。 以上内容涵盖了Java基础的方方面面,为...
- **Tom Holland**:认为这是他见过的最好的计算机书籍之一。 - **Ravindra Pai**:甲骨文公司SUNOS产品线的成员称其为有史以来最好的Java书籍。 - **更多读者反馈**:读者普遍认为本书深度惊人,对于Java学习者来说...