接口和抽象类的问题,请教大家 http://dev.csdn.net/article/65/65350.shtm这个文章有比较全面的分析,建议楼主可以参考一下 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 接口只提供函数的定义,要求实现接口的类必须实现的功能。但是接口内的函数是没有函数体的。抽象类同样可以提供抽象函数,要求子类实现。但是也可以提供具体的函数,供子类使用“super”关键字调用。当然,子类可以override这种函数。同时,抽象类中可以有变量,这是接口不具备的。 抽象类中可以有变量,这是接口不具备的。这个说法是不对的,呵呵,建议看一下Think in Java,接口也可以有变量。 <Thinking in JAVA>中说:接口是更加纯粹的抽象类。接口中不允许有任何方法实现,相比抽象类,是更高层次的抽象。一个抽象类仍然是类,可以有自己的构造方法。而接口不是类,只是一些规范。从这一点上来看,他们有着非常本质的区别。还有,接口可以多重扩展(继承),即一个接口可以扩展多个接口,一个抽象类则不能扩展多个抽象类,只能是一个。 这个涉及到你对问题领域的理解!!如果是"is_a"的关系,用抽象类如果是"like a"的关系,用接口 接口也可以有变量但只能是STATIC FINAL的 关于true 和false 问个关于包的问题 Java程序调用外部exe可执行程序时出现的问题 开源 求助<java基础> 新手求教,求三角形的画法 谁有关于Eclipse的中文资料? jbuilder 里怎么支持鼠标滚论呀?好象要个补丁! 谁能给出一个连接sqlserver数据库的源码,谢 难道没人会吗? 数据库连接 关于file类的问题!
但是接口内的函数是没有函数体的。
抽象类同样可以提供抽象函数,要求子类实现。
但是也可以提供具体的函数,供子类使用“super”关键字调用。当然,子类可以override这种函数。
同时,抽象类中可以有变量,这是接口不具备的。
这个说法是不对的,呵呵,建议看一下Think in Java,接口也可以有变量。
接口中不允许有任何方法实现,相比抽象类,是更高层次的抽象。
一个抽象类仍然是类,可以有自己的构造方法。而接口不是类,只是一些规范。从这一点上来看,他们有着非常本质的区别。
还有,接口可以多重扩展(继承),即一个接口可以扩展多个接口,一个抽象类则不能扩展多个抽象类,只能是一个。
但只能是STATIC FINAL的