社区
Android
帖子详情
java中为什么要用抽象类和接口?
lcj_拯救不开心
2017-08-20 10:29:17
开发过程中,为什么要写一些接口或者抽象类,直接用类代替他们不可以吗?还有两者在使用的时候,我是选择用接口呢还是用抽象类,两者的区别?一直不是很明白,希望可以回答的详细些,因为我是刚入行的菜鸟,在此非常感谢!
...全文
708
9
打赏
收藏
java中为什么要用抽象类和接口?
开发过程中,为什么要写一些接口或者抽象类,直接用类代替他们不可以吗?还有两者在使用的时候,我是选择用接口呢还是用抽象类,两者的区别?一直不是很明白,希望可以回答的详细些,因为我是刚入行的菜鸟,在此非常感谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
=10_01=
2017-08-25
打赏
举报
回复
为抽象,为了代码复用。 因为不会“偷懒”的程序员不是好的开发者。
IAmTrudy
2017-08-24
打赏
举报
回复
继续下去,我想你会知道的
Andy_l1
2017-08-23
打赏
举报
回复
多态 精髓
Gerry_Liang
2017-08-22
打赏
举报
回复
面向接口编程,你多去尝试敲敲代码就理解了
rayw0ng
2017-08-21
打赏
举报
回复
对你来说还没必要使用接口。等什么时候你可以使唤小弟的时候就可以写接口了,实现交给小弟去做。
202005021116
应用层
2017-08-21
打赏
举报
回复
Java基础还没学,直接跑到Android版块来了,你厉害!建议学好了Java再学安卓
怀君
2017-08-21
打赏
举报
回复
看书啊,书上写的很到位
jklwan
2017-08-21
打赏
举报
回复
例如,view的onclick事件,不暴露给你接口,你怎么监听到这个事件,难道自己重写一个view吗。至于接口或抽象类,一般必须全部实现要实现的都是接口;非必须全部实现的是类,不必实现所有的方法。当然android也在更新,有些接口已经变成了类,可以防止代码的冗余。
网络咖啡
2017-08-21
打赏
举报
回复
方便设计,对于实现功能来说也有意义
JAVA
_API1.6文档(
中
文)
JAVA
开发人员必备是HTML格式的
Java
TM 2 Platform Standard Edition 6 API 规范 本文档是
Java
2 Platform Standard Edition 6.0 的 API 规范。 请参见: 描述
Java
2 Platform 软件包
java
.applet 提供创建 applet 所必需的类和 applet 用来与其 applet 上下文通信的类。
java
.awt 包含用于创建用户界面和绘制图形图像的所有类。
java
.awt.color 提供用于颜色空间的类。
java
.awt.datatransfer 提供在应用程序之间和在应用程序内部传输数据的
接口
和类。
java
.awt.dnd Drag 和 Drop 是一种直接操作动作,在许多图形用户界面系统
中
都会遇到它,它提供了一种机制,能够在两个与 GUI
中
显示元素逻辑相关的实体之间传输信息。
java
.awt.event 提供处理由 AWT 组件所激发的各类事件的
接口
和类。
java
.awt.font 提供与字体相关的类和
接口
。
java
.awt.geom 提供用于在与二维几何形状相关的对象上定义和执行操作的
Java
2D 类。
java
.awt.im 提供输入方法框架所需的类和
接口
。
java
.awt.im.spi 提供启用可以与
Java
运行时环境一起使用的输入方法开发的
接口
。
java
.awt.image 提供创建和修改图像的各种类。
java
.awt.image.renderable 提供用于生成与呈现无关的图像的类和
接口
。
java
.awt.print 为通用的打印 API 提供类和
接口
。
java
.beans 包含与开发 beans 有关的类,即基于
Java
BeansTM 架构的组件。
java
.beans.beancontext 提供与 bean 上下文有关的类和
接口
。
java
.io 通过数据流、序列化和文件系统提供系统输入和输出。
java
.lang 提供利用
Java
编程语言进行程序设计的基础类。
java
.lang.annotation 为
Java
编程语言注释设施提供库支持。
java
.lang.instrument 提供允许
Java
编程语言代理检测运行在 JVM 上的程序的服务。
java
.lang.management 提供管理
接口
,用于监视和管理
Java
虚拟机以及
Java
虚拟机在其上运行的操作系统。
java
.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。
java
.lang.reflect 提供类和
接口
,以获得关于类和对象的反射信息。
java
.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。
java
.net 为实现网络应用程序提供类。
java
.nio 定义作为数据容器的缓冲区,并提供其他 NIO 包的概述。
java
.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。
java
.nio.channels.spi 用于
java
.nio.channels 包的服务提供者类。
java
.nio.charset 定义用来在字节和 Unicode 字符之间转换的 charset、解码器和编码器。
java
.nio.charset.spi
java
.nio.charset 包的服务提供者类。
java
.rmi 提供 RMI 包。
java
.rmi.activation 为 RMI 对象激活提供支持。
java
.rmi.dgc 为 RMI 分布式垃圾回收提供了类和
接口
。
java
.rmi.registry 提供 RMI 注册表的一个类和两个
接口
。
java
.rmi.server 提供支持服务器端 RMI 的类和
接口
。
java
.security 为安全框架提供类和
接口
。
java
.security.acl 此包
中
的类和
接口
已经被
java
.security 包
中
的类取代。
java
.security.cert 提供用于解析和管理证书、证书撤消列表 (CRL) 和证书路径的类和
接口
。
java
.security.interfaces 提供的
接口
用于生成 RSA Laboratory Technical Note PKCS#1
中
定义的 RSA(Rivest、Shamir 和 Adleman AsymmetricCipher 算法)密钥,以及 NIST 的 FIPS-186
中
定义的 DSA(数字签名算法)密钥。
java
.security.spec 提供密钥规范和算法参数规范的类和
接口
。
java
.sql 提供使用
Java
TM 编程语言访问并处理存储在数据源(通常是一个关系数据库)
中
的数据的 API。
java
.text 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和
接口
。
java
.text.spi
java
.text 包
中
类的服务提供者类。
java
.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。
java
.util.concurrent 在并发编程
中
很常用的实用工具类。
java
.util.concurrent.atomic 类的小工具包,支持在单个变量上解除锁的线程安全编程。
java
.util.concurrent.locks 为锁和等待条件提供一个框架的
接口
和类,它不同于内置同步和监视器。
java
.util.jar 提供读写 JAR (
Java
ARchive) 文件格式的类,该格式基于具有可选清单文件的标准 ZIP 文件格式。
java
.util.logging 提供
Java
TM 2 平台核心日志工具的类和
接口
。
java
.util.prefs 此包允许应用程序存储并获取用户和系统首选项和配置数据。
java
.util.regex 用于匹配字符序列与正则表达式指定模式的类。
java
.util.spi
java
.util 包
中
类的服务提供者类。
java
.util.zip 提供用于读写标准 ZIP 和 GZIP 文件格式的类。
java
x.accessibility 定义了用户界面组件与提供对这些组件进行访问的辅助技术之间的协定。
java
x.crypto 为加密操作提供类和
接口
。
java
x.crypto.interfaces 根据 RSA Laboratories' PKCS #3 的定义,提供 Diffie-Hellman 密钥
接口
。
java
x.crypto.spec 为密钥规范和算法参数规范提供类和
接口
。
java
x.imageio
Java
Image I/O API 的主要包。
java
x.imageio.event
Java
Image I/O API 的一个包,用于在读取和写入图像期间处理事件的同步通知。
java
x.imageio.metadata 用于处理读写元数据的
Java
Image I/O API 的包。
java
x.imageio.plugins.bmp 包含供内置 BMP 插件使用的公共类的包。
java
x.imageio.plugins.jpeg 支持内置 JPEG 插件的类。
java
x.imageio.spi 包含用于 reader、writer、transcoder 和流的插件
接口
以及一个运行时注册表的
Java
Image I/O API 包。
java
x.imageio.stream
Java
Image I/O API 的一个包,用来处理从文件和流
中
产生的低级别 I/O。
java
x.management 提供
Java
Management Extensions 的核心类。
java
x.management.loading 提供实现高级动态加载的类。
java
x.management.modelmbean 提供了 ModelMBean 类的定义。
java
x.management.monitor 提供 monitor 类的定义。
java
x.management.openmbean 提供开放数据类型和 Open MBean 描述符类。
java
x.management.relation 提供 Relation Service 的定义。
java
x.management.remote 对 JMX MBean 服务器进行远程访问使用的
接口
。
java
x.management.remote.rmi RMI 连接器是供 JMX Remote API 使用的一种连接器,后者使用 RMI 将客户端请求传输到远程 MBean 服务器。
java
x.management.timer 提供对 Timer MBean(计时器 MBean)的定义。
java
x.naming 为访问命名服务提供类和
接口
。
java
x.naming.directory 扩展
java
x.naming 包以提供访问目录服务的功能。
java
x.naming.event 在访问命名和目录服务时提供对事件通知的支持。
java
x.naming.ldap 提供对 LDAPv3 扩展操作和控件的支持。
java
x.naming.spi 提供一些方法来动态地插入对通过
java
x.naming 和相关包访问命名和目录服务的支持。
java
x.net 提供用于网络应用程序的类。
java
x.net.ssl 提供用于安全套接字包的类。
java
x.print 为
Java
TM Print Service API 提供了主要类和
接口
。
java
x.print.attribute 提供了描述
Java
TM Print Service 属性的类型以及如何分类这些属性的类和
接口
。
java
x.print.attribute.standard 包
java
x.print.attribute.standard 包括特定打印属性的类。
java
x.print.event 包
java
x.print.event 包含事件类和侦听器
接口
。
java
x.rmi 包含 RMI-IIOP 的用户 API。
java
x.rmi.CORBA 包含用于 RMI-IIOP 的可移植性 API。
java
x.rmi.ssl 通过安全套接字层 (SSL) 或传输层安全 (TLS) 协议提供 RMIClientSocketFactory 和 RMIServerSocketFactory 的实现。
java
x.security.auth 此包提供用于进行验证和授权的框架。
java
x.security.auth.callback 此包提供与应用程序进行交互所必需的类,以便检索信息(例如,包括用户名和密码的验证数据)或显示信息(例如,错误和警告消息)。
java
x.security.auth.kerberos 此包包含与 Kerberos 网络验证协议相关的实用工具类。
java
x.security.auth.login 此包提供可插入的验证框架。
java
x.security.auth.spi 此包提供用于实现可插入验证模块的
接口
。
java
x.security.auth.x500 此包包含应该用来在 Subject
中
存储 X500 Principal 和 X500 Private Crendentials 的类。
java
x.security.cert 为公钥证书提供类。
java
x.security.sasl 包含用于支持 SASL 的类和
接口
。
java
x.sound.midi 提供用于 MIDI(音乐乐器数字
接口
)数据的 I/O、序列化和合成的
接口
和类。
java
x.sound.midi.spi 在提供新的 MIDI 设备、MIDI 文件 reader 和 writer、或音库 reader 时提供服务提供者要实现的
接口
。
java
x.sound.sampled 提供用于捕获、处理和回放取样的音频数据的
接口
和类。
java
x.sound.sampled.spi 在提供新音频设备、声音文件 reader 和 writer,或音频格式转换器时,提供将为其创建子类的服务提供者的
抽象类
。
java
x.sql 为通过
Java
TM 编程语言进行服务器端数据源访问和处理提供 API。
java
x.sql.rowset JDBC RowSet 实现的标准
接口
和基类。
java
x.sql.rowset.serial 提供实用工具类,允许 SQL 类型与
Java
编程语言数据类型之间的可序列化映射关系。
java
x.sql.rowset.spi 第三方供应商在其同步提供者的实现
中
必须使用的标准类和
接口
。
java
x.swing 提供一组“轻量级”(全部是
Java
语言)组件,尽量让这些组件在所有平台上的工作方式都相同。
java
x.swing.border 提供围绕 Swing 组件绘制特殊边框的类和
接口
。
java
x.swing.colorchooser 包含供 JColorChooser 组件使用的类和
接口
。
java
x.swing.event 供 Swing 组件触发的事件使用。
java
x.swing.filechooser 包含 JFileChooser 组件使用的类和
接口
。
java
x.swing.plaf 提供一个
接口
和许多
抽象类
,Swing 用它们来提供自己的可插入外观功能。
java
x.swing.plaf.basic 提供了根据基本外观构建的用户界面对象。
java
x.swing.plaf.metal 提供根据
Java
外观(曾经代称为 Metal)构建的用户界面对象,
Java
外观是默认外观。
java
x.swing.plaf.multi 提供了组合两个或多个外观的用户界面对象。
java
x.swing.plaf.synth Synth 是一个可更换皮肤 (skinnable) 的外观,在其
中
可委托所有绘制。
java
x.swing.table 提供用于处理
java
x.swing.JTable 的类和
接口
。
java
x.swing.text 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。
java
x.swing.text.html 提供类 HTMLEditorKit 和创建 HTML 文本编辑器的支持类。
java
x.swing.text.html.parser 提供默认的 HTML 解析器以及支持类。
java
x.swing.text.rtf 提供一个类 (RTFEditorKit),用于创建富文本格式(Rich-Text-Format)的文本编辑器。
java
x.swing.tree 提供处理
java
x.swing.JTree 的类和
接口
。
java
x.swing.undo 允许开发人员为应用程序(例如文本编辑器)
中
的撤消/恢复提供支持。
java
x.transaction 包含解组期间通过 ORB 机制抛出的三个异常。
java
x.transaction.xa 提供定义事务管理器和资源管理器之间的协定的 API,它允许事务管理器添加或删除 JTA 事务
中
的资源对象(由资源管理器驱动程序提供)。
java
x.xml 根据 XML 规范定义核心 XML 常量和功能。
java
x.xml.bind 为包含解组、编组和验证功能的客户端应用程序提供运行时绑定框架。
java
x.xml.bind.annotation 定义将
Java
程序元素定制成 XML 模式映射的注释。
java
x.xml.bind.annotation.adapters XmlAdapter 及其规范定义的子类允许任意
Java
类与 JAXB 一起使用。
java
x.xml.bind.attachment 此包由基于 MIME 的包处理器实现,该处理器能够解释并创建基于 MIME 的包格式的已优化的二进制数据。
java
x.xml.bind.helpers 仅由 JAXB 提供者用于: 提供某些
java
x.xml.bind
接口
的部分默认实现。
java
x.xml.bind.util 有用的客户端实用工具类。
java
x.xml.crypto 用于 XML 加密的通用类。
java
x.xml.crypto.dom
java
x.xml.crypto 包的特定于 DOM 的类。
java
x.xml.crypto.dsig 用于生成和验证 XML 数字签名的类。
java
x.xml.crypto.dsig.dom
java
x.xml.crypto.dsig 包特定于 DOM 的类。
java
x.xml.crypto.dsig.keyinfo 用来解析和处理 KeyInfo 元素和结构的类。
java
x.xml.crypto.dsig.spec XML 数字签名的参数类。
java
x.xml.datatype XML/
Java
类型映射关系。
java
x.xml.namespace XML 名称空间处理。
java
x.xml.parsers 提供允许处理 XML 文档的类。
java
x.xml.soap 提供用于创建和构建 SOAP 消息的 API。
java
x.xml.stream
java
x.xml.stream.events
java
x.xml.stream.util
java
x.xml.transform 此包定义了用于处理转换指令,以及执行从源到结果的转换的一般 API。
java
x.xml.transform.dom 此包实现特定于 DOM 的转换 API。
java
x.xml.transform.sax 此包实现特定于 SAX2 的转换 API。
java
x.xml.transform.stax 提供特定于 StAX 的转换 API。
java
x.xml.transform.stream 此包实现特定于流和 URI 的转换 API。
java
x.xml.validation 此包提供了用于 XML 文档验证的 API。
java
x.xml.ws 此包包含核心 JAX-WS API。
java
x.xml.ws.handler 该包定义用于消息处理程序的 API。
java
x.xml.ws.handler.soap 该包定义用于 SOAP 消息处理程序的 API。
java
x.xml.ws.http 该包定义特定于 HTTP 绑定的 API。
java
x.xml.ws.soap 该包定义特定于 SOAP 绑定的 API。
java
x.xml.ws.spi 该包定义用于 JAX-WS 2.0 的 SPI。
java
x.xml.xpath 此包提供了用于 XPath 表达式的计算和访问计算环境的 object-model neutral API。 org.ietf.jgss 此包提供一个框架,该框架允许应用程序开发人员通过利用统一的 API 使用一些来自各种基础安全机制(如 Kerberos)的安全服务,如验证、数据完整性和和数据机密性。 org.omg.CORBA 提供 OMG CORBA API 到
Java
TM 编程语言的映射,包括 ORB 类,如果已实现该类,则程序员可以使用此类作为全功能对象请求代理(Object Request Broker,ORB)。 org.omg.CORBA_2_3 CORBA_2_3 包定义对
Java
[tm] Standard Edition 6
中
现有 CORBA
接口
所进行的添加。 org.omg.CORBA_2_3.portable 提供输入和输出值类型的各种方法,并包含 org/omg/CORBA/portable 包的其他更新。 org.omg.CORBA.DynAnyPackage 提供与 DynAny
接口
一起使用的异常(InvalidValue、Invalid、InvalidSeq 和 TypeMismatch)。 org.omg.CORBA.ORBPackage 提供由 ORB.resolve_initial_references 方法抛出的异常 InvalidName,以及由 ORB 类
中
的动态 Any 创建方法抛出的异常 InconsistentTypeCode。 org.omg.CORBA.portable 提供可移植性层,即可以使一个供应商生成的代码运行在另一个供应商 ORB 上的 ORB API 集合。 org.omg.CORBA.TypeCodePackage 提供用户定义的异常 BadKind 和 Bounds,它们将由 TypeCode 类
中
的方法抛出。 org.omg.CosNaming 为
Java
IDL 提供命名服务。 org.omg.CosNaming.NamingContextExtPackage 此包包含以下在 org.omg.CosNaming.NamingContextExt
中
使用的类: AddressHelper StringNameHelper URLStringHelper InvalidAddress 包规范 有关
Java
[tm] Platform, Standard Edition 6 ORB 遵守的官方规范的受支持部分的明确列表,请参阅 Official Specifications for CORBA support in
Java
[tm] SE 6。 org.omg.CosNaming.NamingContextPackage 此包包含 org.omg.CosNaming 包的 Exception 类。 org.omg.Dynamic 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.9 小节
中
指定的 Dynamic 模块。 org.omg.DynamicAny 提供一些类和
接口
使得在运行时能够遍历与 any 有关联的数据值,并提取数据值的基本成分。 org.omg.DynamicAny.DynAnyFactoryPackage 此包包含 DynamicAny 模块的 DynAnyFactory
接口
中
的类和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2.2 小节
中
指定。 org.omg.DynamicAny.DynAnyPackage 此包包含 DynAny 模块的 DynAnyFactory
接口
中
的类和异常,该模块在 OMG The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的第 9.2 小节
中
指定。 org.omg.IOP 此包包含在 OMG 文档 The Common Object Request Broker: Architecture and Specification http://cgi.omg.org/cgi-bin/doc?formal/99-10-07 的 13.6.小节
中
指定的 IOP 模块。 org.omg.IOP.CodecFactoryPackage 此包包含 IOP::CodeFactory
接口
中
指定的异常(作为 Portable Interceptor 规范的一部分)。 org.omg.IOP.CodecPackage 此包根据 IOP::Codec IDL
接口
定义生成。 org.omg.Messaging 此包包含 OMG Messaging Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?formal/99-10-07
中
指定的 Messaging 模块。 org.omg.PortableInterceptor 提供一个注册 ORB 钩子 (hook) 的机制,通过这些钩子 ORB 服务可以截取执行 ORB 的正常流。 org.omg.PortableInterceptor.ORBInitInfoPackage 此包包含 OMG Portable Interceptor 规范 http://cgi.omg.org/cgi-bin/doc?ptc/2000-08-06 的第 21.7.2 小节
中
指定的 PortableInterceptor 模块的 ORBInitInfo 本地
接口
中
的异常和 typedef。 org.omg.PortableServer 提供一些类和
接口
,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.CurrentPackage 提供各种方法实现,这些实现能够访问调用方法的对象的身份。 org.omg.PortableServer.POAManagerPackage 封装 POA 关联的处理状态。 org.omg.PortableServer.POAPackage 允许程序员构造可在不同 ORB 产品间移植的对象实现。 org.omg.PortableServer.portable 提供一些类和
接口
,用来生成跨多个供应商 ORB 的可移植应用程序的服务器端。 org.omg.PortableServer.ServantLocatorPackage 提供定位 servant 的类和
接口
。 org.omg.SendingContext 为值类型的编组提供支持。 org.omg.stub.
java
.rmi 包含用于
java
.rmi 包
中
出现的 Remote 类型的 RMI-IIOP Stub。 org.w3c.dom 为文档对象模型 (DOM) 提供
接口
,该模型是
Java
API for XML Processing 的组件 API。 org.w3c.dom.bootstrap org.w3c.dom.events org.w3c.dom.ls org.xml.sax 此包提供了核心 SAX API。 org.xml.sax.ext 此包包含适合的 SAX 驱动程序不一定支持的 SAX2 设施的
接口
。 org.xml.sax.helpers 此包包含“帮助器”类,其
中
包括对引导基于 SAX 的应用程序的支持。
Think in
Java
(
中
文版)-chm格式
第1章 对象入门 1.1 抽象的进步 1.2 对象的
接口
1.3 实现方案的隐藏 1.4 方案的重复使用 1.5 继承:重新使用
接口
1.5.1 改善基础类 1.5.2 等价和类似关系 1.6 多形对象的互换使用 1.6.1 动态绑定 1.6.2 抽象的基础类和
接口
1.7 对象的创建和存在时间 1.7.1 集合与继承器 1.7.2 单根结构 1.7.3 集合库与方便使用集合 1.7.4 清除时的困境:由谁负责清除? 1.8 违例控制:解决错误 1.9 多线程 1.10 永久性 1.11
Java
和因特网 1.11.1 什么是Web? 1.11.2 客户端编程 1.11.3 服务器端编程 1.11.4 一个独立的领域:应用程序 1.12 分析和设计 1.12.1 不要迷失 1.12.2 阶段0:拟出一个计划 1.12.3 阶段1:要制作什么? 1.12.4 阶段2:开始构建? 1.12.5 阶段3:正式创建 1.12.6 阶段4:校订 1.12.7 计划的回报 1.13
Java
还是C++?
微服务系列第九季-
Java
中
的封装、
抽象类
、
接口
和多态
微服务应用是分布式开发的主要手段,它很好的解决了高并发等电商平台的问题。微服务系列课程是以
Java
语言为基础,以SpringCloud+SpringBoot为核心,结合Spring、SpringMVC及MyBatis,通过游戏案例、电商案例,以极简的方式,带领入门的朋友们快速上手微服务开发。全部案例源码分享给学习的朋友,案例采用敏捷开发管理模式,让朋友们在每一个阶段,有着游戏过关一样的学习体验。 第九季主要是给大家介绍一下:
Java
中
封装的概念及步骤、
Java
封装类、
Java
抽象类
的概念、继承
抽象类
、抽象方法、
接口
的概念、
接口
的声明与实现、
接口
的继承、多态的概念、多态的应用举例。
java
中
接口
和
抽象类
的区别
接口
和
抽象类
的区别?
接口
(interface)和
抽象类
(abstract class)是支持
抽象类
定义的两种机制。
接口
是公开的,不能有私有的方法或变量,
接口
中
的所有方法都没有方法体,通过关键字interface实现。
抽象类
是可以有私有方法或私有变量的,通过把类或者类
中
的方法声明为abstract来表示一个类是
抽象类
,被声明为
抽象类
的方法不能包含方法体。子类实现方法必须含有相同的或者更低的访问...
Java
中
抽象类
和
接口
的区别
对于面向对象编程来说,抽象是它的一大特征之一。在
Java
中
,可以通过两种形式来体现OOP的抽象:
接口
和
抽象类
。这两者有太多相似的地方,又有太多不同的地方。很多人在初学的时候会以为它们可以随意互换使用,但是实际则不然。今天我们就一起来学习一下
Java
中
的
接口
和
抽象类
。 一、
抽象类
在了解
抽象类
之前,先来了解一下抽象方法。抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法的声明格式为...
Android
80,337
社区成员
91,284
社区内容
发帖
与我相关
我的任务
Android
移动平台 Android
复制链接
扫一扫
分享
社区描述
移动平台 Android
android
android-studio
androidx
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章