文档章节

JDK 1.5 新特性学习笔记(2)

丽天
 丽天
发布于 2010/12/26 10:19
字数 468
阅读 598
收藏 2

2. 静态导入

静态导入也是一个辅助性的功能增强,能够静态导入变量方法,省略了一些冗长的代码。静态导入的关键字是import static。静态导入时可以使用通配符(*)

代码示例:

import static java.lang.System.out;
import static java.util.Arrays.sort;
import static java.lang.Math.*;
import java.util.Arrays;
// .. .. ..
public static void main(String[] args) {
    int[] ints = {3, 7, 4};
    sort(ints);
    out.println(Arrays.toString(ints));
    out.println(sqrt(PI * PI));
}

注:静态导入还可以导入静态内部类,这种用法不太常见,此处不再提供代码示例。

 

3. 变长参数

变长参数(varargs)允许方法中一次接收多个同样类型的参数,不需要将这些参数预先明确定义出来。

变长参数使用...标识,代码示例:

public class Guitar {
	public Guitar(String builder, String model, String... features) {
	}

	public static void main(String... args) {
		Guitar guitar1 = new Guitar("Martin", "HD-28V", "Hot-rodded by Dan Lashbrook",
				"Fossil Ivory Nut", "Fossil Ivory Saddle", "Low-profile bridge pins");
		Guitar guitar2 = new Guitar("Bourgeois", "OMC",
				"Incredible flamed maple bindings on this one.");
		Guitar guitar3 = new Guitar("Martin", "D-18");
		String[] features = {};
		Guitar guitar4 = new Guitar("Collings", "OM-42", features);
	}
}

在类Guitar的Constructor中使用了变长参数定义:String... features。调用时可以传递多个String参数,而不需要定义不同的Constructor。注意第三个变量的使用,只传递了两个参数,即变长参数是(0..*)的概念。

变长参数的使用有一定的限制,一个方法中只能定义一个变长参数,且此变长参数必须位于参数列表的末尾

对于变长参数,Java编译器实际将其识别为一个对应类型的数组(示例代码中的main方法可以证明)。例如上边的例子中,编译器将String... features识别为String[] features,可以将其按照数组方式使用,如进行for each遍历,或将其赋值给一个String[]类型的变量。

© 著作权归作者所有

共有 人打赏支持
丽天
粉丝 62
博文 22
码字总数 14606
作品 0
南京
私信 提问
JDK 1.5 新特性学习笔记(1)

JDK 1.5/5.0在Java语言方面进行了许多增强。此文简要描述每一新特性的基本内容,便于快速了解相关知识点,更详细的描述请参考相关资料。 1. 自动装箱(Auto Boxing) 自动装箱即在基本类型(...

丽天
2010/12/19
0
0
Groovy学习笔记(1)-简介

Groovy是一种基于JVM(Java虚拟机)的面向对象的敏捷动态语言,它结合了Python、Ruby和Smalltalk的许多强大的特性(比如动态类型转换、闭包和元编程(metaprogramming)支持),Groovy 代码能...

山海经
2016/11/09
37
0
Java高级部分笔记-------Java5.0的新特性

静态导入 1.1 JDK 1.5 增加的静态导入语法用于导入类的某个静态属性或方法。使用静态导入可以简化程序对类静态属性和方法的调用。 1.2 语法:Import static 包名.类名.静态属性|静态方法|* ...

查封炉台
2014/04/21
0
0
JDK 1.5 新特性学习笔记(4)

Annotation(注解) Annotation是一种元数据(metadata),即“Information about information”,在源代码中标记。 注解使用类Javadoc的语法,@ANNOTATION_NAME(参数),参数为KEY=VALUE的形式...

丽天
2011/06/27
0
0
java基础学习_JDK新特性_day28总结

java基础学习JDK新特性day28总结 ==================================================================================================================================================......

黑泽明军
04/15
0
0

没有更多内容

加载失败,请刷新页面

加载更多

腾讯与Github的魔幻会面背后的故事…

10月22日,腾讯开源管理办公室有幸邀请到Github新晋CEO Nat Friedman,前来鹅厂参观交流。目前腾讯已经有近70个项目在Github上开源,共获得17w stars,世界排名11位。Github是腾讯开源的主阵...

腾讯开源
18分钟前
0
0
单例模式

单例模式(Singleton pattern)属于创建型设计模式。 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对...

NinjaFrog
23分钟前
0
0
TypeScript基础入门之装饰器(三)

转载 TypeScript基础入门之装饰器(三) 继续上篇文章[TypeScript基础入门之装饰器(二)] 访问器装饰器 Accessor Decorator在访问器声明之前声明。 访问器装饰器应用于访问器的属性描述符,可用...

durban
40分钟前
2
0
spring5调研学习(转载)

Spring框架的新功能 这一章主要提供Spring框架新的功能和变更。 升级到新版本的框架可以参考。Spring git。 内容列表 Spring 5.x框架新的功能 Spring 4.x框架新的功能 Spring 3.x框架新的功能...

小海bug
51分钟前
2
0
为何Spring框架能这么流行?

想要学习更多关于Spring框架在Java开发者中如此流行?看这篇文章可以学到更多! Spring框架特性 Spring是用于应用开发中的一款强大,轻量级框架。更广泛地说,你可以认为Spring框架是一个定义...

java知识分子
53分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部