什么是接口,接口与抽象类的区别

接口

  • 面对接口思想:这种思想是接口是定义(规范,约束)与实现的分离。
    优点:
    1、 降低程序的耦合性
    2、 易于程序的扩展
    3、 有利于程序的维护

  • 接口本身都是由全局常量和抽象方法组成,全局常量关键字public static final和抽象方法关键字public abstract可以省略。

public interface Person {
	int age = 21 ;//省略public static final
	void say();//省略public abstract
}
  • 如果一个接口要想使用,不能对接口本身实例化,必须依靠子类。 子类(如果不是抽象类的话)要实现接口中的所有抽象方法。
  • 接口的实现:一个子类可以有多个父接口(一个儿子可以有多个爸爸!和抽象类不同)
class 子类 implements 父接口1,父接口2...{
}
   还可以继承抽象父类同时实现接口
class 子类 extends 父类 implements 父接口1,父接口2...{
}

接口和抽象类的区别

  • 抽象类要被子类继承,接口要被子类实现。
  • 接口只能声明抽象方法,抽象类中可以声明抽象方法,也可以写非抽象方法。
  • 接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
  • 接口里定义的变量只能是公共的静态的常量,抽象类中的变量是普通变量。
  • 抽象类使用继承来使用, 无法多继承。 接口使用实现来使用, 可以多实现
  • 抽象类中可以包含static方法 ,但是接口中不允许(静态方法不能被子类重写,因此接口中不能声明静态方法)
  • 接口不能有构造方法,但是抽象类可以有

对接口的理解还得再使用中慢慢品

猜你喜欢

转载自blog.csdn.net/weixin_45583648/article/details/105887391