抽象类和抽象方法
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)让方法接受接口类型,是一种让任何类都可以对该方法进行适配的方式。这就是使用接口而不是类的强大之处。