抽象类与接口

NO

区别

抽象类

接口

1

定义关键字

Abstract class

interface

2

组成

常量,变量,抽象方法,普通方法,构造方法

全局常量,抽象方法

3

权限

可以使用各种权限

只能是public

4

关系

一个抽象类可以实现多个接口

接口不能继承抽象类,可以继承多个接口

5

使用

子类用extends继承抽象类

子类用implements实现接口

6

设计模式

模板设计模式

工厂/模板设计模式

7

局限

一个子类只能继承一个抽象类

一个子类可以实现多个接口

8

相同点

都是利用对象的多态性的向上转,进行接口和抽象类的实例化操作

1.抽象类定义

Abstract class A{

Private static final String test=”test”;

Private String info=”hello word”; //变量

Public void print(){   // 普通方法

System.out.println(info);

}

Public abstract void get();//抽象方法

}

2.接口定义

Interface A{

   Public static final String INFO=”hello world”;//接口中默认是全局常量

   Public abstract void print();//接口中默认是抽象方法

}

3.抽象类实现接口

Abstract class D implements A{ }

4.接口不能继承抽象类,可以继承多接口

Interface C extends B ,C{}

5.子类实现多个接口

Public class implements A,b{}

原文地址:https://www.cnblogs.com/cainame/p/10326301.html