Java中接口和抽象类的区别

来源:互联网 发布:好软网络电视绿色版 编辑:程序博客网 时间:2024/05/18 03:08
接口对于开发人员再熟悉不过了,一般用于实现某一个方法体,而抽象类是一个对象的抽象表现,个人理解,如果不妥,请补砖,抽象类都需要使用abstract类修饰,而接口是interface修饰。
常见的抽象类如下:
public abstract class ClassName{
       abstract void fun();
}
1)抽象方法必须为public或者protected(因为private,不能被子类继承,子类便无法实现该方法)
2)抽象类不能用来创建对象
3)如果一个类继承了抽象类,则必须实现父类的抽象方法,如果子类没有实现,则必须把子类也定义成abstract类(即抽象类)
接口是这样的:
public interface InterfaceName{

}
接口和抽象类的区别:
1)抽象类可以提供成员的方法的实现细节,而接口中的成员变量只能是public static final类型的
2)抽象类中的成员变量可以是各种类型的,而接口中成员变量只能是public static final类型的
3)接口中不能涵有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法
4)一个类只能继承一个抽象类,但是可以实现多个接口
这就是他们之间的区别了,抽象类是一种事物的抽象,而接口是对行为的抽象,抽象类对整个类进行抽象,包含属性,行为,但是接口却是对局部进行抽象
抽象类作为很多子类的父类,是一种模板式设计,而接口是一种行为规范。

0 0
原创粉丝点击