抽象与接口0418

一、复习:增强的for循环

JDK1.5中增加了增强的for循环。


除了简单遍历并读取其中的内容外,不建议使用增强的for循环。


缺点:
  对于数组,不能方便的访问下标值


语法为:


for (Type value : array) {


    expression value;


}


 显而易见,for/in(for each)循环自动控制一次遍历数组中的每一个元素,然后将它赋值给一个临时变量(如上述代码中的int n),然后在循环体中可直接对此临时变量进行操作。这种循环的缺点是:


 1. 只能顺次遍历所有元素,无法实现较为复杂的循环,如在某些条件下需要后退到之前遍历过的某个元素;


 2. 循环变量(i)不可见,如果想知道当前遍历到数组的第几个元素,只能这样写:


 int i = 0;


 for (int n : array) {


     System.out.println("This " + i + "-th element in the array is " + n);


     i++;


}





二、接口

1、不要在接口中是声明变量。只能声明常量。默认都是public static final,即:全局静态常量。所以,所有的常量,你都得给初值。

如:public static final int PI=3.14; 等同于:

int PI=3.14

2、所以,接口主要是用来声明方法的。

3、接口中的所有方法,都是抽象方法,都默认为: public.

4、接口不能有构造方法。

5、如果省略了修饰符,则此接口只在本包中可见;如果写上public,则全局可见。

6、所以接口,严格的来讲:属于一个特殊的类,而这个类里面只有抽象方法和全局常量,就连构造方法也没有。

7、一般的开发思路是:先定义接口,可分得细一些。然后,有多个小类,分别实现一个到多个接口。再将小类在工厂类中实现指定的任务,最后通过测试类来调用工厂类。

8、可以不用写public abstract 或者public static final。并且,接口中的访问权限只有一种:public,即:定义接口方法和全局常量的时候就算没有写上public,那么最终的访问权限也是public,注意不是default。



阅读更多

没有更多推荐了,返回首页