接口更多的是在系统架构设计方法发挥作用,主要用于定义模块之间的通信契约。而抽象类在代码实现方面发挥作用,可以实现代码的重用,例如,模板方法设计模式是抽象类的一个典型应用,假设某个项目的所有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个方面逐一去比较回答,接着从第三者继承的角度的回答,特别是最后用了一个典型的例子来展现自己深厚的技术功底。

一个类可以实现多个接口,但只能继承一个抽象类。相关推荐

  1. 一个类可以实现多个接口但是只能实现一个类

    public class SpbmServiceImpl extends BasicServiceImpl implements ISpbmService,ISpbmDao {} 一个类可以实现多个接 ...

  2. java模拟使用接口,关于java:模拟一个类与模拟它的接口

    对于单元测试,我需要模拟几个依赖项.依赖项之一是实现接口的类: public class DataAccessImpl implements DataAccess { ... } 我需要设置一个这个类 ...

  3. ASM 判定一个类,实现了指定接口

    为什么80%的码农都做不了架构师?>>>    ASM 判定一个类,实现了指定接口 技术支持 ASM 中,ClassReader 类:对已存在的进行解析,并提供获取类信息的方法. 通 ...

  4. 任务2、创建笔记本电脑类(继承一个类,实现多个接口)

    文章目录 任务2.创建笔记本电脑类(继承一个类,实现多个接口) (二)编程实现 1.创建NetCard接口 2.创建USB接口 3.创建Computer抽象类 4.创建笔记本电脑类 - Laptop ...

  5. java接口中只能定义常量和抽象方法_java基础19. 下列有关接口的叙述错误的是哪项?() A.接口中只能包含抽象方法和常量 B.一个类可以实现多个接口...

    共回答了21个问题采纳率:81% 选择错误的. A 接口中只能包含抽象方法和常量 这个是正确的 下面给你说一下抽象类和接口的区别:抽象类由abstract关键字来修饰,接口由interface关键字来 ...

  6. java一个类添加多个接口_Java的一个类可以实现多个接口。

    Java的一个类可以实现多个接口. 答:√ 下列原始凭证中属于一次凭证的有( ). 答: 收据 收料单 完全角化细胞在显微镜下不可能出现的颜色是 答:白色 In a language classroo ...

  7. Java黑皮书课后题第6章:6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格

    6.9(英尺和米之间的转换)编写一个类,包含如下两个方法:编写一个测试程序,调用这两个方法以显示下面的表格 题目 题目概述与运行示例 破题 代码(本题) 题目 题目概述与运行示例 6.9(英尺和米之间 ...

  8. 一个类可以实现多个接口吗_Java入门:基础知识(面向对象:接口)

    接着上一篇的基础知识,今天俺们来学习一下: 面向对象 (万物皆对象) 三大特征(封装.继承.多态) 接口 接口 概述:接口是一种引用数据类型,是方法的'集合',接口的内部主要是定义方法,包含常量.抽象 ...

  9. Java两同_java:一个类实现的两个接口里都有同一个方法(名),怎么处理?

    不一定,关键要看子类是否是抽象类. 如果子类是非抽象类,则必须实现接口中的所有方法: 如果子类是抽象类,则可以不实现接口中的所有方法,因为抽象类中允许有抽象方法的存在! 1.抽象类定义 抽象类往往用来 ...

  10. 一个类可以实现多个接口吗_java中接口的概念

    如果一个类之中只是由抽象方法和全局常量所组成的,那么在这种情况下不会将其定义为一个抽象类,而只会将其定义为接口,所以所谓的接口严格来讲就属于一个特殊的类,而且这个类里面只有抽象方法与全局常量. 接口使 ...

最新文章

  1. Exported activity does not require permission
  2. rabbitmq 延迟队列_框架系列|中间件RabbitMQ必看17道面试题
  3. 简明 XHTML 1.0 参考手册
  4. js -- 时间转年月日
  5. java调用MySQL脚本_Java调用SQL脚本执行常用的方法示例
  6. 微软不允许用户卸载 Chromium Edge 浏览器
  7. 菜鸟的MySQL学习笔记(三)
  8. 贵州全国计算机二级报名官网入口,2019年3月贵州全国计算机二级考试报名入口已开通...
  9. 安装软件提示计算机管理员权限,安装需要管理员权限怎么办 设置安装软件需要管理员权限的方法教程...
  10. 通过CN3口直接控制台达伺服电机A2-M(二)
  11. python编写udp端口扫描工具全
  12. Delta并联机构运动学分析
  13. AirDrop是什么?
  14. 打破国外垄断 数字音频国家标准DRA颁布
  15. Homebrew替换阿里云镜像源
  16. 人喜欢音乐的部分原因:形成期望,不确定性
  17. springboot多module依赖
  18. Turbot4机器人入门教程-配置网络
  19. CSS实现Div层背景半透明而内容不透明的效果
  20. 如何用好百度搜索风云榜?

热门文章

  1. xlsxwriter EXCEL文件的写入
  2. HP-UX静默安装oracle11g过程
  3. tikz包 安装_LaTex各种安装
  4. Logistic 损失函数
  5. 【微前端】手把手带你从零开始搭建一个qiankun+vue微前端应用
  6. matlab各语句意思,请问这个语句表示什么意思?
  7. 2018年网易校招内推编程题之交错01串
  8. thymeleaf设置disabled
  9. 2011年12月份第4周51Aspx源码发布详情
  10. 文艺程序员的好妹子--google总裁