社区
Java EE
帖子详情
定义抽象类比起普通类有什么好处?
开拓者Amadues
2020-07-20 05:32:38
如果是为了不同实现的话,普通类的继承+重写也可以实现这个效果的吧?
...全文
4438
5
打赏
收藏
定义抽象类比起普通类有什么好处?
如果是为了不同实现的话,普通类的继承+重写也可以实现这个效果的吧?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hiboys
2020-07-21
打赏
举报
回复
可以强制子类必须重写某些方法。从设计考虑继承关系没有接口来的方便,尽量用接口吧。
nayi_224
2020-07-21
打赏
举报
回复
提醒你有些方法必须重新实现
RockeyCui
2020-07-21
打赏
举报
回复
抽象类用的话,一般都是按着 模板方法设计模式思路去的。
举个简单的例子,短信发送。短信服务商肯定各种各样吧,我们模板流程方法就是:入交易流水(实际方法) 组装报文(抽象方法),发送报文(抽象方法),解析结果(抽象方法),更新交易流水(实际方法)。
开拓者Amadues
2020-07-20
打赏
举报
回复
是不是父类的方法不能确定具体实现的时候,写成抽象类会比较好?
Forevermark993
2020-07-20
打赏
举报
回复
抽象是为了多态,如果没有这个需求,没必要抽象
Java
抽象类
详解
一、
抽象类
的基本概念
普通
类是一个完善的功能类,可以直接产生实例化对象,并且在
普通
类中可以包含有构造方法、
普通
方法、static方法、常量和变量等内容。而
抽象类
是指在
普通
类的结构里面增加抽象方法的组成部分。那么什么叫抽象方法呢?在所有的
普通
方法上面都会有一个“{}”,这个表示方法体,有方法体的方法一定可以被对象直接使用。而抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修
java中
抽象类
与抽象方法的
定义
及注意事项
接口中最重要的就是抽象方法,抽象方法的
定义
格式: [public] [abstract] 返回值类型 方法名称(参数列表); 注意: 1.抽象方法的
定义
就是加上abstract关键字,然后去掉大括号,直接分号结束。 2.实现类必须覆盖重写接口所有的抽象方法,除非实现类是
抽象类
。 3.抽象方法没有方法体,所以多个父接口中的抽象方法如果重复也不会起冲突。 抽象方法所在的类,必须是
抽象类
才行。
抽象类
的
定义
格式: public abstract class 类名(){ }
抽象类
与
普通
类的区别: 1.抽象方
浅谈,Java当中
普通
类与
抽象类
的区别
特性
普通
类
抽象类
实例化可以直接实例化不能直接实例化抽象方法不能包含抽象方法可以包含抽象方法方法实现所有方法都有具体实现可以有具体方法和抽象方法继承可以被继承,不要求实现方法子类必须实现所有抽象方法或为
抽象类
用途实现具体功能
定义
通用行为和属性的接口
普通
类用于创建具体的对象和实现具体的功能。
抽象类
用于
定义
通用的行为和属性接口,提供代码复用和强制实现机制,尤其在框架和设计模式中发挥重要作用。写在结尾。
【java】 【
抽象类
】 猫和狗
【什么是抽象方法?什么是
抽象类
?】 没有方法体的方法,且用abstract修饰的为抽象方法,拥有抽象方法的则为
抽象类
,且必须用abstract修饰 【特点】
抽象类
不能实例化,但可以通过抽象化多态创建对象
抽象类
必须有子类。且子类必须重写抽象方法
抽象类
也像
普通
类一样有构造方法(用于子类访问父类数据的初始化)
抽象类
及抽象方法不可以使用final修饰(因为
抽象类
必须被继承,而使用final修饰的类不能被继承。抽象方法必须被重写,而使用final修饰的方法不能再被重写。) 与猫和狗的多.
Java—
抽象类
与接口
抽象类
在Java中可以创建一种类专门用来做父类,这种类称为“
抽象类
”。
抽象类
实际上也是一个类,只是与之前的
普通
类相比,内部新增了抽象方法。
抽象类
的基本概念 抽象方法是只声明而未实现的方法,所有的抽象方法必须使用abstract关键字声明,包含抽象方法的类也必须使用abstract class声明。
抽象类
定义
规则如下: ⑴
抽象类
和抽象方法都必须用abstract关键字来修饰; ⑵
抽象类
不能直接实例化,也就是不能直接用new关键字去产生对象; ⑶
抽象类
定义
时抽象方法只需声明,而不需实现; ⑷ 含有抽
Java EE
67,542
社区成员
225,859
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章