Java中的接口(interface)

接口(Interface

一.接口通过使用关键词interface来声明,格式为: interface  NAME { ... }

二.接口提中只能包含常量和抽象方法,不能包含变量和普通方法,并且接口中的所有常量和抽象方法都是public定义的,以下通过定义一个接口来说明:

interface Printable {
  public final int max = 100;                   //等价写法:int max = 100;
    public abstract void add ( );                  //等价写法:void add ();
   public abstract float sum (float x,  float y); 
}

三.接口也可以像类一样被继承,接口使用关键词extends继承另一个接口;

interface InterA {
  public abstract void function1();
}
interface InterB extends InterA{
  public abstract void function2();
}

四.接口中的抽象方法只是定义了必须具有该行为,具体的实现有类来完成。类使用关键词implements实现接口,当某个类实现了一个接口,该类必须重载所实现接口的所有方法,除非该类是一个抽象类。如何理解这一句话呢?首先可以分两层来理解:

1.普通类(即非抽象类)实现接口时必须重载该接口的所有方法(显示声明public);

2.抽象类也可以实现接口,抽象类实现接口时可以不完全重载该接口的所有方法,由继承该抽象方法的普通类来完成所有接口方法的重载。

例如普通类B实现接口A

interface A {
  public abstract void function1 ();
  public abstract void function2 ();
}
  
public class B implements A{
  public void function1 (){
  /* ...*/
  }
  public void function2 (){
  /* ...*/
  }
}


五.Java舍弃了C++语言中多重继承的机制,当然Java可以通过接口实现与C++语言中多重继承的相同功能,即在Java中一个类可以同时实现多个接口,各个接口之间用逗号‘,’隔开,书写格式为:类 implements 接口1,接口2,接口3

(举例:class CLASS_A implements INTER_B,INTER_C,INTER_D{...} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值