抽象类和抽象方法
1)包含抽象方法的类叫做“抽象类(abstract class)”。如果一个类包含一个或多个抽象方法,该类必须被限制为是抽象的。(否则,编译器就会报错)
接口
1)接口中定义的域默认都是public static final的,也必须是public static final的。在接口中定义的域不可以是“空final”的,但是可以被非常量表达式初始化。例如:
public interface RandVals {
Random RAND = new Random(47);
int RANDOM_INT = RAND.nextInt(10);
long RANDOM_LONG = RAND.nextLong() * 10;
float RANDOM_FLOAT = RAND.nextLong() * 10;
double RANDOM_DOUBLE = RAND.nextDouble() * 10;
}
2)接口中定义的方法默认是public的,也必须是public的。
3)让方法接受接口类型,是一种让任何类都可以对该方法进行适配的方式。这就是使用接口而不是类的强大之处。