欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中的接口与多态

程序员文章站 2024-02-29 23:44:34
...

什么是接口,如何定义接口?

 接口,是Java语言中一种引用类型,是方法的集合。
使用interface关键定义接口,其中可以定义抽象方法,默认方法,私有方法,静态方法等方法。
 接口是抽象类的延伸,可以将它看作是纯粹的抽象类,接口中的所 有方法都没有方法体。对于10.7.1小节中遗留的问题,可以将draw()方法 封装到一个接口中,使需要draw()方法的类实现这个接口,同时也继承 图形类,这就是接口存在的必要性。在图10.14中描述了各个子类继承 图形类后使用接口的关系。

Java中的接口与多态

* 什么叫做多态,条件是什么?

  • 一类事物的行为,具有多种表现形式。
  • 条件:
    • 继承或者实现【二选一】
    • 方法的重写。
    • 父类引用指向子类对象。

那么使用多态的特性有什么好处和弊端呢?

 使用多态特性,带来了什么样的好处?
  • 增强方法的扩展性和复用性。

  • 利用多态可以使程序具有良好的扩展性,并可以对所有类对象进行 通用的处理

    使用多态特性,注意什么样的弊端?

  • 由于类型的提升,导致调用子类对象特有的方法,必须向下转型。

那接口的多态的编写步骤怎样呢? 让我们来看看步骤和如何去实现吧。

编写步骤:

  1. 定义接口A,普通类B实现接口A
  2. A接口中,定义抽象方法showA。
  3. A接口中,定义默认方法showB。
  4. B类中,重写showA方法
  5. 测试类中,创建B类对象,调用showA方法,showB方法
  6. 代码实现:`
  7. ``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关键字后并使用逗号隔开。但这可能会在一个类中产生庞大 的代码量,因为继承一个接口时需要实现接口中所有的方法。

多重继承的语法如下:
Java中的接口与多态
例:在定义一个接口时,使该接口继承另外一个接口。
Java中的接口与多态

小结:

大家应该了解继承与多态的机制,掌握重载、 类型转换等技术,学会使用接口与抽象类,并对继承和多态有一个比较 深入的了解。初学者在后期的学习和实践 中一定要仔细揣摩继承与多态机制,因为继承和多态本身是比较抽象的 概念,深入理解需要一段时间。使用多态机制必须扩大自己的编程视 野,将编程的着眼点放在类与类之间的共同特性以及关系上,使软件开 发具有更快的速度、更完善的代码组织架构,以及更好的扩展性和维护性。