接口的多态

来源:互联网 发布:汽车cae软件 编辑:程序博客网 时间:2024/06/03 17:44

接口的多态:
(以下是本人这段时间的学习对接口多态的理解)
在说接口的多态之前,不妨回顾一下多态
多态是父类的引用类型变量 指向子类的对象
eg:Pet p = new Dog();
这个就是父类Pet的引用指向子类new的对象Dog.
那么同理可得
接口的多态就是 接口的引用类型变量 指向 接口实现类 的对象
接口实现类 —》 就是实现了这个接口的类
InkBox ink = new ColorfulInkBox();

接口的多态实现:
(1)要有接口
(2)要有 接口的实现类
(3)要让接口的引用类型变量 指向 接口实现类 的对象

接口多态的好处跟多态的差不多,可以减少代码量,而且在大型项目中,是非常游泳的

用例子来说话
这是一段有关接口的代码,跟我上一个博客有一点点区别,这个代码用到了接口的多态

本人学习的难点请看图
这里写图片描述

把这个引用类型变量和实现类的对象弄反了,编译报错

interface paper {    void write();}interface A4 extends paper{    int size=34; void writeSize();}class comeTrue implements A4{  public void write()  {      System.out.println("我是一张A4纸");  } public void writeSize()  {      System.out.println("我的大小是"+A4.size);  }}class Test{    public static void main(String[] args)    {     /*重点看这里,这个是接口的引用类型变量 指向 接口实现类 的对象     这个接口的引用类型变量是A4这个接口,new comeTrue 是实现类的对象     为什么不能引用实现类的变量指向实现类的对象呢?很简单,因为A4    是        interface类   接口类都是抽象类,不能实例化,就是不能有对象     */      A4 a = new  comeTrue();      a.write();      a.writeSize();    }}
1 0
原创粉丝点击