今天我看到一个关于程序员的基本能力要知道:抽象、多态、接口、异常处理的能力。
于是就看了一下抽象与接口
接口:
接口中只能声明抽象方法(包括静态抽象方法)和静态变量:
1. 定义抽象方法时不能加 abstract 关键字,因为默认隐式就是抽象的.
2. 不能加 final 关键字来防止接口中方法的继承.
3. 接口中的方法默认是 public 的,不能用 protected 和 private 修饰符修饰.
4. 接口内定义的方法成员不能在接口中实现.
接口中一般不考虑属性,只考虑方法,使得子类可以自由的填补和扩充接口中说定义的方法,也就是说接口偏重于行为.
一个子类要实现一个接口,如果该子类是非抽象类就必须实现接口中所有定义的方法(不管是否需要);如果该子类是一个抽象类,则可以实现接口中的方法,也可以不实现.接口也有一个显而易见的缺点就是,如果接口中的方法名改变了,那么所有实现此接口的子类将无法通过编译,因为他们说实现的方法名已经不存在了.
接口还有一个优点就是能够同时实现多个接口.
...