Java面向对象——接口

"接口是一种特殊的抽象类,用于定义行为规范,利于代码扩展和维护。接口只包含常量和抽象方法,不支持字段和实例构造器。在Java中,一个类可以实现多个接口,而在C#中,类可以继承一个类并实现多个接口。接口通过`implements`关键字实现,并且接口间可通过`extends`进行多重继承。C#接口定义中,成员默认为public,且接口名称通常以大写"I"开头。"
摘要由CSDN通过智能技术生成

接口可以看作是一种特殊的“抽象类”,但是采用与抽象类完全不同的语法来表示,两者的设计理念也是不同的,抽象类利于代码的复用,接口利于代码的扩展和维护

定义语法

【修饰符】 interface 接口名 extends 父接口1,父接口2,......{

        //常量定义

        // 方法定义

}

类实现接口

class 类名 extends 父类名 implements 接口1,接口2,......{

        //类成员

}

说明:

  • 接口的命名规则与类相同。如果修饰符是public,则该接口在整个项目中可见。如果省略,则只在当前包可见。
  • 接口中可以定义常量,不能定义变量,接口中的属性都会自动用public static final 修饰符,即接口中的属性都是全局静态常量。接口中的常量必须定义时就指定初始值。
  1. public static final int pI= 3.14;
  2. int pI = 3.14;   //在接口中1和2 的效果完全相同。
  3. int pI;  //错误 !在接口中必须定义初始值,类中会有默认值。
  • 接口中所有的方法都是抽象方法。都会自动用public abstract 修饰,即接口中只有全局抽象方法。
  • 和抽象类一样接口无法实例化且不能有构造方法。
  • 接口之间可通过extends实现继承,接口可继承多个接口,但接口不能继承类。
  • 接口实现类必须实现接口的全部方法,否则必须定义为抽象类。

一个类只能有一个直接父类,但可通过implements实现多个接口。

类在继承父类时又实现多个接口时,extends必须位于implements之前。

接口表示一种约定,一种能力,体现了约定和实现相分离的原则。

在C#中使用接口

语法:

【修饰符】 interface 接口名:父接口1,父接口2,....{

        属性定义

        方法定义

}

class 类名:父类名,接口1,接口2,...{}

说明:

  1. 接口之间可通过”:“来实现继承关系,一个接口可继承多个接口,但接口不能接触类,类只有一个父类,但又多个接口,使用冒号”:“来继承类并实现接口。
  2. 接口定义零或多个成员,成员主要是方法、属性和索引器。接口中不能包含常量、变量和构造方法,也不能包含任何静态成员。
  3. 接口中访问权限是public,定义时显式指定任何修饰符都是非法的。
  4. 惯例,C#中接口的名称以大写”I“开头。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值