博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是抽象类?什么是抽象方法,接口和抽象类有什么区别?
阅读量:5314 次
发布时间:2019-06-14

本文共 648 字,大约阅读时间需要 2 分钟。

1.百度百科的官方解释是:使用了关键词abstract(adj.抽象的)声明的类叫作“抽象类”。所谓的抽象类就是没有对象的类。

那么问题来了,为什么抽象类不能被实例化,因为抽象类中的抽象方法只有名称,没有具体实现方法,无法被实例化,抽象类不能用final来修饰,

2.“抽象方法”:属于一种不完整的方法,只含有一个声明,没有方法主体。有抽象方法的类一定是抽象类。抽象类中不一定有抽象方法

举一个例子,百度知道看到的 如果你的程序里面需要用到和梨这2个类..那么你可以分别给出这2个类

但是你会发现这2个类里面有共同的属性和方法(属性: 都有核.. 方法: 都需要削皮吃...)那么你可以建立抽象类 "水果" 把这些共同的东西都定义在那里. 那么你的2个子类就只需要实其他必要的东东了(味道, 价格...)
优点: 当你需要对和梨做新的,共同的修改或者添加的时候. 你现在就可以直接对他们的超类 水果 做就可以了。

3.接口和抽象类有什么区别。

  1. 首先接口方法默认都是public的。所有的方法在接口中不能有实现(据说java8 可以有默认实现了),抽象方法可以是public protected 和default修饰,但是不能被private,static,final,native并列修饰
  2. 一个class可以实现多个接口,但是只能实现一个抽象类。
  3. 在设计来看,抽象是类,接口是行为。

 

 

转载于:https://www.cnblogs.com/xiaosisong/p/10825029.html

你可能感兴趣的文章
Handler消息传递机制
查看>>
linux 查看系统信息
查看>>
2018.08.22 NOIP模拟 shop(lower_bound+前缀和预处理)
查看>>
2018.11.06 bzoj1040: [ZJOI2008]骑士(树形dp)
查看>>
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
Junit使用教程(一)
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
查看>>
jQuery总结或者锋利的jQuery笔记二
查看>>
前后端协作--服务器渲染与前后端分离
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
GDB调试
查看>>
centos系统python2.7更新到3.5
查看>>
一个通用的单元测试框架的思考和设计09-实现篇-视图操作
查看>>
【Quartz】常用方法的使用方式(三)
查看>>
MVVM模式下关闭窗口的实现
查看>>
背水一战 Windows 10 (11) - 资源: CustomResource, ResourceDictionary, 加载外部的 ResourceDictionary 文件...
查看>>
SqlServer 更改复制代理配置文件参数及两种冲突策略设置
查看>>