使用Java实现面向对象_第四章_接口(小结)

4.1 接口基础知识

4.1.1 为什么需要接口

原因有两点:(1)防盗门不是锁,不符合继承中is a 的关系;

2Java只支持单继承。如何解决这个问题呢?这时候就要用到接口,可以将锁定义为接口,让防盗门继承门,实现锁的接口。

4.1.2 什么是接口

生活中接口就是说一些USB接口什么的。在微软中,接口同样是一种规范和标准,他们可以约束类的行为,是一些方法他正的集合,但是没有方法的实现。在这个角度来讲,接口可以看做一种特殊的抽象类,但是采用与抽象类完全不同的语法来表示,两者设计理念也是不同的,抽象类利于代码复用,接口利于代码的扩张和维护。Java中接口的定义语法和类实现接口的语法如下:

[修饰符] interface 接口名 extends 父接口1,父接口2,……{

      //常量定义

      //方法定义

}

 

 

Class 类名 extends 父类名 implements 接口1,接口2,……{

      //类成员

}

 

说明:

(1)       接口的命名规则与类相同。如果修饰符是public,则该接口在整个项目中可见;如果省略修饰符,则该接口只在当前可见。

(2)       接口中可以定义常量,不能定义变量。接口中的属性都会自动用public static final修饰,即接口中的属性都是全局金泰常量。接口中的常量必须在定义时指定初始值。

(3)       接口中所有方法都是抽象方法。接口中方法都会自动用public abstract 修饰,即接口中只有全局抽象方法。

(4)       和抽象类一样,接口也不能实例化,接口中不能有构造方法。

(5)       接口口之间可以通过extends实现继承关系,一个几口可以继承多个接口,但接口不能继承类。

(6)       接口的实现类必须实现交界口的全部方法,否则必须定义为抽象类。

 

 

一个类智能有一个直接父类,但可以通过implements实现多个接口,当类在继承父类的同时又实现多个接口是,extends关键字必须位于implemets关键字之前。

本章总结

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

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

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

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

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

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

7C#中接口欧欧的成员主要是方法和属性,接口中不能包含常量,变量,构造方法好任何静态成员,定义接口时显式指定任何修饰符是非法的。

猜你喜欢

转载自blog.csdn.net/mrsupermanl/article/details/80265610