社区
Java SE
帖子详情
~~~“接口”和“抽象内”的区别~~~
windylu
2003-10-16 04:24:02
他们的语法等我知道,但不知道在什么场合下使用。最重要的区别是什么?
...全文
25
8
打赏
收藏
~~~“接口”和“抽象内”的区别~~~
他们的语法等我知道,但不知道在什么场合下使用。最重要的区别是什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
collision
2003-10-17
打赏
举报
回复
大家说的很清楚了!
syanyszy
2003-10-17
打赏
举报
回复
一个大点的系统都是由技术领导者编写框架,编写好多接口以及抽象类
然后找一些coder来实现抽象类中要做的事情
是这样的吗 ?
alienbat
2003-10-16
打赏
举报
回复
抽象类可以包含实例方法,也能包含可被继承的成员变量
接口不能包含任何实例方法,而且其成员变量默认为static和final
如果你定义一个父类,不希望父类本身被实现,但希望父类含有重用的代码,那么用抽象类。
如果你只想定义一组某些类需要实现的“契约”,那么用接口。
网络咖啡
2003-10-16
打赏
举报
回复
基本同意楼上的观点
kinzey34
2003-10-16
打赏
举报
回复
我个人认为:
抽象类(abstract class)里存放着被其他子类共享的公共行为和方法,比如java.awt.Component
,它是一个抽象类,是所有AWT组件的超类,抽象类里可以包含构造、抽象方法,当然也是用 abstract来修饰,并且方法体里没有具体的实现,这一点似乎和接口很相象-------
然而接口比抽象类和抽象方法能提供更多的功能:
接口是为了解决类不能实现多重继承而出现的,通过实现接口,你可以使用到你继承的超类中所不支持的功能,比如事件监听、比如实现线程
接口中的方法也是没有具体实现,但接口和抽象类所不同的是:抽象类仍然是类,它还是从Object类继承而来,但你可以定义与Object类无关的接口,接口可以完全独立的存在;另外和类不同的是:接口自身可以多重继承!比如:
public interface subInterface extends fatherInterface1,fatherInterface2,......
我想大多数情况下,你应该使用接口,除非你要建立一个类似JAVA类库的庞大的类层次结构,那么在
顶层你可以使用抽象类
kinzey34
2003-10-16
打赏
举报
回复
楼上的有没搞错?人家问的是接口和抽象类的区别,不是接口和类的区别!
whyxx
2003-10-16
打赏
举报
回复
除了楼上的所说外,抽像类可以实现一些方法,减少子类的程序量,也就是可以将一些重要的方法直接实现,而接口不行,只能有虚方法.
honkyjiang
2003-10-16
打赏
举报
回复
public class Test extends A implements B,C,D{
.....................
}
A是类(或抽象类)只能继承一个 B,C,D是接口 可以继承多个interface
Java课程设计-java web 网上商城,后台商品管理(前后端源码+数据库+文档) .zip
项目规划与设计: 确定系统需求,包括商品管理的功能(如添加商品、编辑商品、删除商品、查看商品列表等)。 设计数据库模型,包括商品表、类别表、库存表等。 确定系统的技术栈,如使用Spring MVC作为MVC框架、Hibernate或MyBatis作为ORM框架、Spring Security进行权限控制等。 环境搭建: 搭建开发环境,包括安装JDK、配置Servlet容器(如Tomcat)、配置数据库(如MySQL)等。 创建一个Maven项目,添加所需的依赖库。 数据库设计与创建: 根据设计好的数据库模型,在数据库中创建相应的表结构。 后端开发: 创建Java实体类,对应数据库中的表结构。 编写数据访问层(DAO)代码,实现对商品信息的增删改查操作。 编写服务层(Service)代码,实现业务逻辑,如商品管理的各种操作。 开发控制器层(Controller),实现与前端页面的交互,接收请求并调用相应的服务进行处理。 前端开发: 使用HTML、CSS和JavaScript等前端技术,设计并实现商品管理页面的界面。 通过Ajax技术,实现前后端的数据交互,如异步加载商品列表、实
母线电容计算 .xmcd
变频器 母线电容计算 mathcad
2022年中国大学生计算机设计大赛国赛优秀作品点评微课与教学辅助&数媒静态设计专业组视频
2022年中国大学生计算机设计大赛国赛优秀作品点评微课与教学辅助&数媒静态设计专业组视频提取方式是百度网盘分享地址
输出月份英文名pta.doc
如果您想要在程序中输出月份的英文名称,并且提到了“pta”,但这里的“pta”与月份名称的输出没有直接关系(除非您是在特定的上下文中使用它作为一个变量名或标识符)。不过,我将直接给出如何输出月份英文名称的代码示例。 在Python中,您可以使用一个列表(list)或字典(dictionary)来存储月份的英文名称,并根据需要输出它们。以下是一个简单的示例: python # 使用列表存储月份的英文名称 months = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"] # 假设我们要输出第5个月份(即May) month_index = 4 # 注意列表索引从0开始,所以5月份是索引4 print(months[month_index]) # 输出: May # 或者,如果您想要通过月份的数字(1-12)来输出名称,可以稍作调整 def get_mo
单片机C语言Proteus仿真实例万年历
单片机C语言Proteus仿真实例万年历提取方式是百度网盘分享地址
Java SE
62,616
社区成员
307,307
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章