Java中的多态、抽象类和接口简述
1. 引言
本文对Java编程中的多态、抽象类和接口概念进行了简明扼要的讲解,并对extends和implements进行了辨析。
2. 多态
多态是指所调用的方法只有在运行的时候才可以明确,如下例所示,只有当传入了某个对象x之后,才可以明确所调用的method()方法到底是什么。
public void function(object x) {
x.method();
}
3. 抽象类和抽象方法
通常情况下,在类中定义方法的时候,必须在函数体中写明方法的详细实现,只有函数名的方法会导致编译错误。然而,有些时候的确需要将函数体部分留白,以供调用的时候重写使用,这种情况下可以使用抽象类或抽象方法。
abstract class Class {
public abstract void method();
}
class Class {
public abstract void run();
}
4. 接口
接口与抽象类不同的地方在于:在Java语言类的继承中,子类只能继承于一个父类;**在接口中,接口可以有多个实现。**使用接口可以避免多继承中因多个父类中拥有相同名字的实例变量而产生歧义的问题。
接口首先要进行定义,见下例代码。
interface Interface {
void method1();
int method2();
String method3();
...
}
对已经定义好的interface
进行具体实现时需要加上implements
关键字,多个实现用,
隔开,见下例代码。
class Interface implements interface1, interface2, interface3... {
...
}
5. Java中的extends和implements辨析
extends
用于继承,只能继承一个类,不能继承final类;implements
可以实现多个接口。
6. 总结
简而言之,多态就是不确定状态;抽象类和抽象方法就是不明确方法;Java的继承只能单继承,而接口可以实现多个接口。通过本文,读者应该已经对多态、抽象类和抽象方法、类的继承和接口的辨析有了简明的了解了。