您的位置:首页 > 编程语言 > Java开发

Abstract Class 和interface的区别

2014-11-07 19:01 453 查看
本质上来说,接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。

1.抽象类表示的是这个对象是什么,接口表示的是这个对象能做什么。比如男人和女人这两个类,可以抽象成一个抽象类叫做人,人可以吃东西,够可以吃东西,吃东西就可以定义为接口

2.所以在高级语言中,抽象类只能继承一个,接口可以实现多个

3.接口中的方法全部全部抽象,而抽象类至少需要一个抽象方法

4.抽象类的方法必须在子类中实现,所以抽象类不能有抽象构造方法和抽象静态方法,抽象类的子类只要有一个抽象方法没有实现,则这个子类也必须是抽象的。抽象类可以有静态方法,但是接口不能有

5.抽象类的抽象方法可以是public,protected,default,但是接口中的抽象方法只能是public,且默认是public abstract

6.抽象类可以包含静态成员变量,且访问类型任意,接口中的成员变量必须是public static final。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java