JAVA中的接口

来源:互联网 发布:7位铁通卡用什么网络 编辑:程序博客网 时间:2024/06/03 22:45
本人Java小白,目前在自学Java的基础篇章,现在刚刚看完接口,大概谈一下。
1、接口简介
  接口的定义与类的定义类似,使用interface关键字定义接口,例如:
  interface China{
    public void people();
  }
接口中定义的方法全是抽象方法,当然也可以包含常量的声明。
  Java中的接口都要由类去实现,以便使用接口中的方法。一个类可以实现多个接口,使用implements关键字声明自己实现一个接口或者多个接口,实现某个接口的非抽象类要重写该接口的所有方法。下面是一个简单的例子:
  public class AnHui implements China{
    public void people() {
      System.out.println("我是安徽人!");
    }
  }
  当一个类实现多个接口时,只需用逗号隔开即可,比如AnHui类实现了China和Asia接口:
  class AnHui implements China,Asia

2、接口回调
  用接口声明的变量称为接口变量,接口属于引用型变量,接口变量可以存放实现该接口的类的对象的引用,例如:
  interface China{
    public void people();
    public void house();
  }
  
  public class AnHui implements China{
    public void people() {
      System.out.println("我是安徽人!");
    }
    public void house() {
      System.out.println("房价似火箭在飞奔!");
    }
    public void language() {
      System.out.println("安徽方言!");
    }
  }
  
  public class Example{
    public static void main(String args[]) {
       China china;
       china = new AnHui();
       china.people(); //接口变量回调类实现的接口的方法
       china.house(); //china接口变量不能调用language方法,因为接口中没有此方法。
    }
  }

3、接口与abstract类的比较
接口与abstract类有许多相似之处,但也有比较明显的不同。
(1)abstract类和接口都可以有abstract方法
(2)接口中只可以有常量,不能有变量;而abstract类可以有常量和变量。
(3)abstract类可以有非abstract方法,但接口不行。
在设计程序时应根据具体的分析来确定是使用抽象类还是接口。
原创粉丝点击