抽象类和接口到底有哪些异同?

mjgwf 2008-01-31 08:29:47
如题,请高手们谈谈!
...全文
513 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ningfeihu 2011-06-10
  • 打赏
  • 举报
回复
它们都不能被实例化;
接口不包含方法的实现;
接口可以多继承,类只能单继承。

aluozcc 2009-02-05
  • 打赏
  • 举报
回复
抽象类与接口的主要区别:
1、在抽象类中可以为部分方法提供默认的实现;接口中只能包含抽象方法。
2、向抽象类中添加一个具体的方法,不会对它的子类造成影响;而对于接口一旦公布就不应被改变。
3、一个类只能继承一个直接的父类,这个父类可能是抽象类;但一个类可以实现多个接口。
4、接口的数据成员是公有常量(public static final),方法默认都是public abstract类型;抽象类的数据成员可以是任意的,抽象方法不能用private修饰,也不能加final。
linmeboss 2008-06-13
  • 打赏
  • 举报
回复
10楼 太感谢你了 来 亲你下下
Rain 2008-01-31
  • 打赏
  • 举报
回复
接口 抽象类
只说明功能,也就是能做什么 说明它有哪个基本的属性,当然也可以说明功能
只说明能做什么但怎么做没有实现(方法没具体实现) 可能有具体实现
一个类可以继承多个接口(有多个功能) 一个类只能继承一个类
xjlz0001 2008-01-31
  • 打赏
  • 举报
回复
用接口是为了更好的进行扩充。比如说你定义了一个类,后期发现,这个类的需要一些新的功能,用接口就完全可以实现你的需求。
sun54279335 2008-01-31
  • 打赏
  • 举报
回复
接口里面的方法都没有实现,而抽象类里面有的方法可以已经实现了
老紫竹 2008-01-31
  • 打赏
  • 举报
回复
接口是只定义了我们人类应该能做什么,但没有说明该怎样做。

抽象类是,我只能说明我会的一部分,不会的请子孙来完成。。。
mjgwf 2008-01-31
  • 打赏
  • 举报
回复
不太懂,能不能给详细介绍一下?
maodie007 2008-01-31
  • 打赏
  • 举报
回复
is-a
like-a
xiaoben008 2008-01-31
  • 打赏
  • 举报
回复
学习学习ING
lb_cxs 2008-01-31
  • 打赏
  • 举报
回复
en
alicewf 2008-01-31
  • 打赏
  • 举报
回复
接口和抽象类的异同:接口和抽象类都是不能生成实例的;都拥有抽象方法;接口中全部是抽象方法,抽象类中可以有非抽象方法;接口中所有属性都是静态常量,抽象类中可以有任何类型属性;抽象类可以有构造器,接口中除了抽象方法什么都没有;一个接口可以继承多个接口,抽象类只能继承一个父类;抽象类可以实现接口的。
xiaowanzi0412 2008-01-31
  • 打赏
  • 举报
回复
study
hakerivan 2008-01-31
  • 打赏
  • 举报
回复
抽象类和接口到底有哪些异同?

抽象类也是一种类,定义的时候比如 public abstract class{} 来定义;
接口是一种特殊的类,interface(接口)必须靠类来实现(implements);

接口中的属性 默认的修饰符是用 public static final 来修饰的,必须首先给予赋值,而抽象类没有这么规定,抽象类的属性修饰符比较随意;

接口的方法默认的修饰符号是用 public abstract 来修饰的,不能实例化,而抽象类的方法 可以是抽象的, 也可以不是抽象的(实例化);

抽象类的子类如果不是抽象类的话,必须实现抽象类的抽象方法,有一点必须记住,一个类里面如果有抽象的方法,那么这个类就一定是抽象类, 如果一个类是抽象的类的话,他里面的方法可以是抽象的,也可以实现,还可以全部都实现;

tarzan854243 2008-01-31
  • 打赏
  • 举报
回复
来跟着学点

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧