JAVA:接口和抽象类的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Dian1pei2xiao3/article/details/82699405

1.从设计层面来说,抽象是对类的抽象,是一种模板设计 ,接口是行为的抽象,是一种行为的规范

接口 interface

抽象类

接口中所有方法都是抽象的 抽象类中可以有抽象方法和普通方法
一个类可以实现多个接口 一个类只能继承一个抽象类

接口中成员变量默认public static final类型的(都可以 省略),必须被显示

初始化,即接口中的成员变量为常量(大写)

int  CONST=1;//合法,CONST默认为public static final

抽象类可以包含非final变量

接口中成员函数默认public  abstract类型

void  method();//合法,method()默认为public  abstract

public abstract void method2();//method2()显示声明public abstract类型

抽象类成员函数可以private,protected,public

Java接口中只能包含public,static,final类型的成员变量和public,abstract类型的

成员方法

 
接口绝对抽象,不可以被实例化 抽象类也不可以实例化
没有构造器 可以 有构造器
子类必须实现所有接口函数 可以有main方法
可以有main方法;可以new一个接口,需要在方法体中实现所有接口函数 不可以new一个抽象类

猜你喜欢

转载自blog.csdn.net/Dian1pei2xiao3/article/details/82699405