黑马Java学习笔记之-----静态导入、可变参数和高级For循环

---------------------- android培训java培训期待与您交流! ----------------------

 

静态导入(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.参数类型可变。

  格式:

    修饰符 返回值类型 方法名(类型 … 参数名){方法体}   //用省略号...声明“参数名”为可变长度的参数。

  如果声明如下方法:

  public test(int a, String b, String... str)

  编译时将被解释为:

  public test(int a, String b, String[] str)

  但是这样做还是有一些限制的。

  在一个方法中只能使用一个省略号定义,也就是只能定义一个可变长的参数。可变参数一定要放在参数列表的最后面。

  下面的定义是不合法的:

  public test(int a, String b,String... str, float... f)
 

高级for循环(JDK1.5):

  (1)新特性,代替迭代器使用时的不爽,简化书写,底层原理是迭代器凡是支持迭代器的都支持高级for循环

     高级for循环,只用于集合和数组的遍历,集合只能用Collection不能用Map集合

     只能把Map集合转化成Set集合,才能用for循环。

  (2)格式

  for(数据类型 变量名:被遍历的集合(Collection)或者数组)

  {

    }

       (3)局限性:

    必须要有遍历的目标

    对集合或者数组进行遍历时,只能获取集合元素,不能对集合元素进行操作

    迭代器除了遍历,还可以进行remove操作集合中的元素

    列表迭代器还可以在遍历过程中进行增删改查的操作

  (4)传统for循环和高级for循环的区别

    高级for循环有一个局限性,就是必须要有遍历的目标(集合或者数组)

    遍历数组时建议使用传统for循环,因为可以定义角标,比如打印100helloworld时用传统for循环方便

 


---------------------- android培训java培训期待与您交流! ---------------------- 

posted @ 2013-04-29 02:12  Mercy_K  阅读(160)  评论(0编辑  收藏  举报