Java的继承是面向对象的特性之一,包括抽象类及其子类、类实现接口等都是继承的体现。
Java在继承这一块有很多的东西需要理解,而这些都建立在对象以及内存的分配和Java的构造函数的调用顺序上,还有父类和子类的内存分配。
接口的出现是因为Java不支持多继承,而接口主要是抽象出有相同功能的模块,需要实现的类去实现它。使用接口是因为限制编写程序的不统一和可扩展性。实现了某个接口的类的子类就不必显示的实现该接口了,继承父类就实现了该接口。接口也可继承已有的接口。
抽象类的作用基本上和接口差不多,但它可以声明变量,抽象方法和非抽象方法,不能够新建抽象类的对象。
如果只是需要某个功能,则建议使用接口,如果还需要使用类中的变量,则使用抽象类要好一些。