A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 小忧伤 中级黑马   /  2016-5-23 23:13  /  314 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

接口的定义
    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的
                  }

您需要登录后才可以回帖 登录 | 加入黑马