一个类可以实现多个接口,但只能继承一个抽象类。
接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有Servlet类都要用相同的方式进行权限判断、记录访问日志和处理异常,那么就可以定义一个抽象的基类,让所有的Servlet都继承这个抽象基类,在抽象基类的service方法中完成权限判断、记录访问日志和处理异常的代码,在各个子类中只是完成各自的业务逻辑代码,伪代码如下:
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public abstract class BaseServlet extends HttpServlet {
public final void service(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 记录访问日志
// 进行权限判断
}
protected abstract void doService(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException;
// 注意访问权限定义成protected,显得既专业,又严谨,因为它是专门给子类用的
}
class MyServlet1 extends BaseServlet {
protected void doService(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
// 本Servlet只处理的具体业务逻辑代码
}
}
父类方法中间的某段代码不确定,留给子类干,就用模板方法设计模式。
备注:这道题的思路是先从总体解释抽象类和接口的基本概念,然后再比较两者的语法细节,最后再说两者的应用区别。比较两者语法细节区别的条理是:先从一个类中的构造方法、普通成员变量和方法(包括抽象方法),静态变量和方法,继承性等6个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。
一个类可以实现多个接口,但只能继承一个抽象类。相关推荐
- 一个类可以实现多个接口但是只能实现一个类
public class SpbmServiceImpl extends BasicServiceImpl implements ISpbmService,ISpbmDao {} 一个类可以实现多个接 ...
- java模拟使用接口,关于java:模拟一个类与模拟它的接口
对于单元测试,我需要模拟几个依赖项.依赖项之一是实现接口的类: public class DataAccessImpl implements DataAccess { ... } 我需要设置一个这个类 ...
- ASM 判定一个类,实现了指定接口
为什么80%的码农都做不了架构师?>>> ASM 判定一个类,实现了指定接口 技术支持 ASM 中,ClassReader 类:对已存在的进行解析,并提供获取类信息的方法. 通 ...
- 任务2、创建笔记本电脑类(继承一个类,实现多个接口)
文章目录 任务2.创建笔记本电脑类(继承一个类,实现多个接口) (二)编程实现 1.创建NetCard接口 2.创建USB接口 3.创建Computer抽象类 4.创建笔记本电脑类 - Laptop ...
- java接口中只能定义常量和抽象方法_java基础19. 下列有关接口的叙述错误的是哪项?() A.接口中只能包含抽象方法和常量 B.一个类可以实现多个接口...
共回答了21个问题采纳率:81% 选择错误的. A 接口中只能包含抽象方法和常量 这个是正确的 下面给你说一下抽象类和接口的区别:抽象类由abstract关键字来修饰,接口由interface关键字来 ...
- java一个类添加多个接口_Java的一个类可以实现多个接口。
Java的一个类可以实现多个接口. 答:√ 下列原始凭证中属于一次凭证的有( ). 答: 收据 收料单 完全角化细胞在显微镜下不可能出现的颜色是 答:白色 In a language classroo ...
- Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格
6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...
- 一个类可以实现多个接口吗_Java入门:基础知识(面向对象:接口)
接着上一篇的基础知识,今天俺们来学习一下: 面向对象 (万物皆对象) 三大特征(封装.继承.多态) 接口 接口 概述:接口是一种引用数据类型,是方法的'集合',接口的内部主要是定义方法,包含常量.抽象 ...
- Java两同_java:一个类实现的两个接口里都有同一个方法(名),怎么处理?
不一定,关键要看子类是否是抽象类. 如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在! 1.抽象类定义 抽象类往往用来 ...
- 一个类可以实现多个接口吗_java中接口的概念
如果一个类之中只是由抽象方法和全局常量所组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所以所谓的接口严格来讲就属于一个特殊的类,而且这个类里面只有抽象方法与全局常量. 接口使 ...
最新文章
- Exported activity does not require permission
- rabbitmq 延迟队列_框架系列|中间件RabbitMQ必看17道面试题
- 简明 XHTML 1.0 参考手册
- js -- 时间转年月日
- java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例
- 微软不允许用户卸载 Chromium Edge 浏览器
- 菜鸟的MySQL学习笔记(三)
- 贵州全国计算机二级报名官网入口,2019年3月贵州全国计算机二级考试报名入口已开通...
- 安装软件提示计算机管理员权限,安装需要管理员权限怎么办 设置安装软件需要管理员权限的方法教程...
- 通过CN3口直接控制台达伺服电机A2-M(二)
- python编写udp端口扫描工具全
- Delta并联机构运动学分析
- AirDrop是什么?
- 打破国外垄断 数字音频国家标准DRA颁布
- Homebrew替换阿里云镜像源
- 人喜欢音乐的部分原因:形成期望,不确定性
- springboot多module依赖
- Turbot4机器人入门教程-配置网络
- CSS实现Div层背景半透明而内容不透明的效果
- 如何用好百度搜索风云榜?