一、复习:增强的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。