当前位置:  技术问答>java相关

请问接口和抽象类相同点和不同点是什么?

    来源: 互联网  发布时间:2015-01-31

    本文导语:  应该在什么场合下分别使用这两种类?谢谢! | 抽象类中至少有一个方法是没有实现的,不能有类的实例,其他与普通类一样了 接口中所有的方法都是空的,所有数据成员强制默认为static fin...

应该在什么场合下分别使用这两种类?谢谢!

|
抽象类中至少有一个方法是没有实现的,不能有类的实例,其他与普通类一样了
接口中所有的方法都是空的,所有数据成员强制默认为static final 

|
This brings up a question: Should you use an interface or an abstract class? An interface gives you the benefits of an abstract class and the benefits of an interface, so if it’s possible to create your base class without any method definitions or member variables you should always prefer interfaces to abstract classes. In fact, if you know something is going to be a base class, your first choice should be to make it an interface, and only if you’re forced to have method definitions or member variables should you change to an abstract class, or if necessary a concrete class.
//from thinking in java

|
接口的优点:可以实现多继承
      缺点:需要把所有的方法都实现
抽象类的优点:可以先实现一部分方法,不需要每个方法都过载
      缺点:只能单继承
  

|
所以,很多接口就只有一个函数。

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 请问 linux 是如何调用 alsa的控制接口的??是通过控制接口名字吗?
  • 急,请问如何修改网络接口eth为其它名称,如网络接口为abc0, abc1,要修改哪个配置文件?
  • 请问有没有Linux下SOCKET服务端和客户端的接口函数!!
  • 请问TreeCellRenderer接口主要用来干什么啊?
  • 急,请问Linux中如何像windows获取网络接口是否插入网线???
  • 请问Linux下要获得网络接口的相关信息,像ifconfig,netstat那样
  • 我的鼠标时usb接口并且是光电3键鼠标,请问如何在redhat9下使用?
  • 请问在编译oci接口程序时使用哪些库??
  • 请问高手:EJB中的远程接口、本地接口、HOME接口的联系与区别是什么?应用时应注意哪些问题?
  • 请问论坛上有没有对LINUX下的视频接口V4L2了解的吗?
  • 请问在RedHat7.1上可以用usb接口的easyDisk吗?
  • 请问类和接口的区别
  • 请问:访问接口的api,或者类有哪些?如何使用?
  • 请问,红外接口怎样测试?
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好? iis7站长之家
  • 想请问一下大家终端接口tty1-6
  • 请问为什麽在J2ee中客户端(测试时)用jndi定位enterprise bean的时候,可以把远程接口实例化?接口不是不可以生成对象的吗?
  • 请问, android+linux内核 平台上, 有一个串口接口的外设置芯片, 想对它进行初化, 一般根据该平台下什么驱动改写?
  • 请问Runnable接口为什么能实现多线程?
  • 请问如何在red hat linux 9中使用USB接口,谢谢
  • 请问:我知道路由器的telnet密码,但忘记了enable 密码,请问如何是好?
  • 请问那里有SYBASE的jbdb 2.0下载;jspsmartupload可以直接将文件上传到数据库,请问如何使用
  • 请问最新的reahat9.0是基于什么核心的?2.4?2.6?请问那里能下载?
  • 请问:请问哪里有关于linux基本操作命令讲解的资料下载,最好是幻灯片格式的.
  • 请问,我试图用#admintool&图形工具命令来安装sun workshop5.0,为什么进入的却是用户管理界面?请问具体该如何在solaris下安装应用软件
  • 请问在Redhat 9里,我从登录就是图形介面,请问如何在图形介面内进入命令行方式呢,谢谢
  • 请问玩过SOLARIS的高手门,在不正常关机后,就不能启动到windows公用桌面了,只能在命令提示模式下了,请问怎么解决这个问题啊?急~!~!
  • 请问:我在redhat下装了bochs-2.2.1-1.rpm,.装了后,想设置一下,但找不到bochsrc.fda.bxrc,请问这个文件在哪个曰录下啊。
  • 请问:在配置Qt时,很多文档都说在.profile,.login里加东西,但是我好像没有发现有这两个文件上,请问这些文件在哪个目录下啊
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请问各位大虾,小弟今天开始学jsp了,这学期我们有java课,所以已经下载了jdk(好象是1.2),请问我的98环境怎么配置jsp环境呀?我的jdk可以运行.java程序,别的我就不知道了....谢谢!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3