---------------------- 、、期待与您交流! ----------------------
静态导入(JDK1.5):
静态导入允许您在调用其它类中定义的静态成员时,可以忽略类名。
当你想使用static成员时,可以使用静态导入(在API中的类和你自己的类上,都可以使用该特性)。例子:
静态导入之前的代码:
1 public class TestStatic { 2 public static void main(String[] args) { 3 System.out.println(Integer.toHexString(42)); 4 } 5 }
静态导入后的代码:
1 import static java.lang.System.out; //导入System中的out静态方法2 public class TestStaticImport { 3 public static void main(String[] args) { 4 out.println(“哈哈哈哈好方便!”); 5 } 6 }
注:
1、虽然该特性通常称为“静态导入”,但语法必须是import static,后面跟你想导入的static成员的完全限定名称,或者通配符。2、提防含糊不清的命名static成员。例如,如果你对Integer类和Long类执行了静态导入,引用MAX_VALUE将导致一个编译器错误,因为Integer和Long都有一个MAX_VALUE常量,并且Java不会知道你在引用哪个MAX_VALUE。 3、你可以在static对象引用、常量(记住,它们是static 或final)和static方法上进行静态导入。
可变参数(JDK1.5):
可变参数列表的可变包括两层可变:1.参数个数可变;2.参数类型可变。
格式:
修饰符 返回值类型 方法名(类型 … 参数名){方法体} //用省略号...声明“参数名”为可变长度的参数。
如果声明如下方法:
编译时将被解释为:
但是这样做还是有一些限制的。
在一个方法中只能使用一个省略号定义,也就是只能定义一个可变长的参数。可变参数一定要放在参数列表的最后面。
下面的定义是不合法的:
高级for循环(JDK1.5):
(1)新特性,代替迭代器使用时的不爽,简化书写,底层原理是迭代器凡是支持迭代器的都支持高级for循环
高级for循环,只用于集合和数组的遍历,集合只能用Collection不能用Map集合
只能把Map集合转化成Set集合,才能用for循环。
(2)格式
for(数据类型 变量名:被遍历的集合(Collection)或者数组)
{
}
(3)局限性:
必须要有遍历的目标
对集合或者数组进行遍历时,只能获取集合元素,不能对集合元素进行操作
迭代器除了遍历,还可以进行remove操作集合中的元素
列表迭代器还可以在遍历过程中进行增删改查的操作
(4)传统for循环和高级for循环的区别
高级for循环有一个局限性,就是必须要有遍历的目标(集合或者数组)
遍历数组时建议使用传统for循环,因为可以定义角标,比如打印100次helloworld时用传统for循环方便
---------------------- 、、期待与您交流! ----------------------