黑马程序员技术交流社区

标题: 接口的定义 [打印本页]

作者: 小忧伤    时间: 2016-5-23 23:13
标题: 接口的定义
接口的定义
    1.定义接口使用关键字:interface 接口名
    (定义抽象类使用关键字:abstract class)
  2.接口中可以定义什么成员(JDK8以前):
                  1).成员变量:只能是公有、静态、常量
                                          public static final
                                          上述这三个关键字中的任何一个都可以不写,编译器会自动添加
                          interface IA{
                                  int n = 10;//隐式的定义为:public static final int n = 10;
                                  public int n2 = 20;//隐式:public static final int n2 = 20;
                                  final int n3 = 30;//OK的
                                  static int n4 = 40;//OK的
                                  public static final int n5 = 50;//OK的
                          }
                  2).抽象方法:注意:只能是"抽象方法"--接口中没有构造方法,没有实现的方法。
                         被隐式的声明为:public abstract
           interface IA{
                   void show(){};//错误;接口中不能有实现的方法;
                   void show();//OK的,被隐式的声明为:public abstract void show();
                   public void show()://OK的,
                   abstract void show();//OK的
                  }
  3.接口跟抽象类一样,不能被"实例化",它的作用:
                  1).对于子类的"功能扩展";
                  2).接口多态(在多态时讲);
  4.子类"实现"接口使用关键字:implements
                  interface IA{
                  }
                  class Sub implmenets IA{
                  }
            
  5.接口的使用规则:
                  1).子类可以同时继承某个类,并同时实现接口;也可以单独继承某个类;也可以单独实现接口
                  2).子类可以同时实现多个接口;(子类就是通过实现多个接口,实现的功能扩展,避免了单继承带来的限制)
                  interface IA{
                          void show();
                  }
                  interface IB{
                          int show();
                  }
                  class Sub implements IA,IB{//OK的
                  }






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2