Java中的接口与多态
程序员文章站
2024-02-29 23:44:34
...
java中的接口与多态
什么是接口,如何定义接口?
接口,是Java语言中一种引用类型,是方法的集合。
使用interface关键定义接口,其中可以定义抽象方法,默认方法,私有方法,静态方法等方法。
接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所 有方法都没有方法体。对于10.7.1小节中遗留的问题,可以将draw()方法 封装到一个接口中,使需要draw()方法的类实现这个接口,同时也继承 图形类,这就是接口存在的必要性。在图10.14中描述了各个子类继承 图形类后使用接口的关系。
* 什么叫做多态,条件是什么?
- 一类事物的行为,具有多种表现形式。
- 条件:
- 继承或者实现【二选一】
- 方法的重写。
- 父类引用指向子类对象。
那么使用多态的特性有什么好处和弊端呢?
使用多态特性,带来了什么样的好处?
-
增强方法的扩展性和复用性。
-
利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行 通用的处理
使用多态特性,注意什么样的弊端?
-
由于类型的提升,导致调用子类对象特有的方法,必须向下转型。
那接口的多态的编写步骤怎样呢? 让我们来看看步骤和如何去实现吧。
编写步骤:
- 定义接口A,普通类B实现接口A
- A接口中,定义抽象方法showA。
- A接口中,定义默认方法showB。
- B类中,重写showA方法
- 测试类中,创建B类对象,调用showA方法,showB方法
- 代码实现:`
- ``public class Test2 {
public static void main(String[] args) {
B b = new B();
b.showA();
b.showB();
}
}
interface A{
public abstract void showA();
public default void showB(){
System.out.println(“BBBB”);
}
}
class B implements A {
@Override
public void showA() {
System.out.println(“AAAA”);
}
}```
注意:
在接口中,方法必须被定义为public或abstract形式,其他修饰权限 不被Java编译器认可。或者说,即使不将该方法声明为public形式,它 也是public
说明:
在接口中定义的任何字段都自动是static和final的。
Java中的多重继承
Java中不允许出现多重继承,但使用接口就可以实现多重继承。一 个类可以同时实现多个接口,因此可以将所有需要继承的接口放置在 implements关键字后并使用逗号隔开。但这可能会在一个类中产生庞大 的代码量,因为继承一个接口时需要实现接口中所有的方法。
多重继承的语法如下:
例:在定义一个接口时,使该接口继承另外一个接口。
小结:
大家应该了解继承与多态的机制,掌握重载、 类型转换等技术,学会使用接口与抽象类,并对继承和多态有一个比较 深入的了解。初学者在后期的学习和实践 中一定要仔细揣摩继承与多态机制,因为继承和多态本身是比较抽象的 概念,深入理解需要一段时间。使用多态机制必须扩大自己的编程视 野,将编程的着眼点放在类与类之间的共同特性以及关系上,使软件开 发具有更快的速度、更完善的代码组织架构,以及更好的扩展性和维护性。