您的位置:首页 > 编程语言 > Java开发

用Java实现面向对象编程(入门)(四)

2017-04-10 23:17 190 查看
四、■接口

1、接口中的属性都是全局静态常量,接口中的方法都是全局抽象方法,接口中没有构造方法。

  ★Java中实现接口的定义语法和类实现接口的语法如下:
∵[修饰符] interface 接口名 extends 父接口1,父接口2,……{
//常量定义
//方法定义
 }
∴class 类名 extends 父类名 inplements 接口1,接口2,……{
//类成员
 }

  接口:a、命名规则和类相同;b、可以定义常量,不能定义变量(属性都是全局静态常量);c、只有全局抽象方法;d、和抽象类一样,不能实例化,不能有构造方法;e、接口之间可以通过extends实现继承关系,一个接口可以继承多个接口,但接口不能继承类;f、接口实现类必须实现接口的全部方法,否则必须定义为抽象类。(当类继承并实现接口时,extends关键字必须在implements关键字之前。)

2、类只能继承一个父类,但可以实现多个接口。一个类如果实现了一个借口,则必须实现接口中的全部方法,否则必须将其自定义为抽象类。Java通过实现接口达到了多重继承的效果。

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

4、抽象类利于代码复用,接口利于代码维护。

5、通过面向接口编程,可以降低代码间的耦合性,提高代码的可扩展性和可维护性。

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

7、C#中接口:a、接口成员主要是方法、属性和索引器。b、接口中不能包含常量、变量、构造方法和任何静态成员。c、定义接口时显示指定任何修饰符是非法的。d、接口间可以通过冒号“:”来实现继承关系,一个接口可以继承多个接口,但接口不能继承类。e、按照惯例,C#中接口的名称以大写字母“I”开头。
  ★C#中定义接口的语法:
∵[修饰符] interface 接口名 : 父接口1,父接口2,……{
//属性定义

//方法定义

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

8、在Java和C#两种语言中,接口具有以下区别:
①Java中接口通过extends来继承父接口,类通过implements实现接口;C#中通过冒号“:”来实现这两个功能。
②Java接口中的成员变量(属性)都是常量,自动用public static final修饰;C#接口中不允许存在成员变量,但可以有属性。
③Java接口中属性和方法都可以用public修饰;C#中默认为public,但不允许显式使用public修饰。
④Java接口中可以定义静态常量和方法;C#接口中不允许包含任何静态成员。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: