java中的接口

  1. 为什么要接口?

Java仅支持单继承,子类在继承父类的同时未能实现某种功能

  1. 什么是接口?

接口是一种规范和标准,他们可以约束类的行为,是一些方法特征的集合,但是没有方法的实现。从这个角度讲,接口可以看作一种特殊的”抽象类”,但是采用与抽象类完全不同的语法来表示,两者的设计理念也是不同的,抽象类利于代码复用,接口利于代码的扩展和维护

  1. 定义接口,实现接口

定义:

访问修饰符   interface 接口名 extends 父接口1,父接口2,.....

{

//常量定义

//方法定义

}

实现:

访问修饰符 类名 extends 父类名 implements 接口1,接口2,.....

{

//类成员

}

声明接口,实例化类(类似于父类引用子类对象)

  1. 接口运用规则
  1. 接口的命名规则与类相同。如果字符是public ,则该接口在整个项目中可见,如果省略修饰符,则该接口

只在当前包中可见

  1. 接口中可以定义常量,不能定义变量。接口中的属性都会自动用public static final 修饰,即接口中的属性都是全局静态

常量。接口中的常量必须在定义时指定初始值。

  1. 接口中的所有方法都是抽象方法,接口中的所有方法都会自动用public abstract 修饰,接口中只有全局抽象方法。
  2. 和抽象类一样接口也不能实例化,接口中不能有构造方法(抽象类可以有构造方法)
  3. 接口之间可以通过extends 实现继承关系,一个接口可以继承多个接口,但接口不能继承类
  4. 接口的实现类必须实现接口的全部方法,否则必须定义为抽象类
  5. 一个类只能有一个直接父类,但可以通过implements实现多个接口。当类在继承父类的同时又实现了多个接口时,extends必须位于implements之前
  1. 接口表示一种能力(has  a)

一个类实现了某个接口,就表示这个类具备了某种能力。

  1. 接口的好处

接口不仅弥补了java只支持单继承的缺点,还利于扩展和维护。接口类似于一个组件,需要时可以自由装。从使用角度来讲,接口和抽象类的区别在于抽象类利于代码复用,接口利于代码维护

  1. 接口表示一种约定

接口体现了约定和实现相分离的原则,通过面向接口编程,可以降低代码之间的耦合性,提高代码的可扩展性可维护性。

面向接口编程就意味着:开发系统时,主体架构使用接口,接口构成系统的骨架,这样可以通过更换实现接口的类来实现

更换系统

  1. 在C#中的接口

定义:

访问修饰符 interface 接口名:接口1,父接口2,...

//属性定义

//方法定义

实现:

访问修饰符 class 类:父类名,接口1,父接口2,...

9.C#接口运用规则

  • 接口之间可以通过冒号”:“来实现继承关系,一个接口可以继承多个接口,但接口不能继承类。

类只能继承一个父类,但可以实现多个接口,使用冒号”:“来继承类并实现接口。

  • 接口定义零个或多个成员,成员主要是方法,属性和索引器。接口中不能包含常量,变量或构造方法

也不能包含任何静态成员

  • 接口中成员访问权限是public,定义接口是显示指定任何访问修饰符是非法的
  • 接口名由一个或多个单词组成,首字母大写,其余个单词首字母大写

10.Java 与 c# 接口的区别

  • Java中通过extends来继承父接口,类通过implements来实现接口;C#通过”:“来实现这两种功能
  • Java接口中的成员变量(属性)都是常量,自动用public static final 来修饰;C#接口中不允许存在成员变量可以有属性。
  • Java接口中属性和方法都可以使用public修饰;C#默认为public,但不允许显示使用public修饰
  • Java接口中可以定义静态常量和方法;C#中不允许包含任何静态成员;

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值