首页 > 其他 > 详细

接口

时间:2014-04-22 11:46:47      阅读:334      评论:0      收藏:0      [点我收藏+]

  在面向对象中,java只能单根,没有c++的多继承。虽然这样会减少错误的发生,但是在继承上也导致了很多功能实现很麻烦,接口的出现就很好的解决了这个问题,而且更方便。

  在接口中全部都是抽象方法,不能实例化。类不能实例化,只能实现接口定义的方法。

  接口的特点  接口可以有任意数量的方法

         接口不能被实例化

         接口不能包含构造器

         接口的方法都是抽象的

           接口中不能包含实例成员变量

           接口不能被继承,只能被实现

        一个接口可以继承多个接口

  接口是由interface关键字定义,只能拥有公共的静态常量和抽象方法,没有构造方法,能够多重实现.使用关键字implements来实现接口

  接口不是类,虽然接口类似于一个类,但是概念不同。类描述了对象的属性和行为,而接口包含了一个类需要实现的行为。

  接口的优点最大的作用就是扩展性,还可以将类和实现分离,规范子类。

例:

   比如说有3个翻译员,A会翻译英语和法语,B个会只会英语,C英语、法语、日语都会。如果我们把翻译的3个语言的行为都定义为父类的话,子类翻译员都继承父类的行为,虽然我们可以不重写,但是这在理论上来说是不合理的。在这种情况下就可以使用接口来实现了。

  创建一个父类翻译官Y,和3个接口,分别是翻译英语、法语和日语,还有3个子类分别代表3个翻译人员,如果是A的话就直接实现英语和法语的接口,B的话实现英语接口,C3个都实现。

  接口的定义方法 public interface 接口名()。例如翻译英语接口      public interface IEnglish{     //可以在接口名前加个I,表示是个接口

                                public void english();    //这里public可以省略,默认也是公共的

                                }

  

  接口的实现方法  public class 类名 extends 父类名 implements 接口名

    例如B翻译员的类   public class B extends Y implements French(){      //如果要实现多个接口,只需要在接口名后面加逗号再写上接口名

                public void french(){            //实现接口

                  System.out.println("我会翻译法语");

                }

             }

接口,布布扣,bubuko.com

接口

原文:http://www.cnblogs.com/dssxk/p/3679560.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!