java抽象类理解

2023-10-28

在java中抽象类不一定要有抽象方法,可以将所有方法都实现一遍,但class类声明为抽象类,这样做和不声明抽象类相比,差别只是抽象类不能实例化,继承的关键字仍然是extends,而且继承过后可以不覆盖方法,只是使用继承而来的方法。

1.在jsp当中<jsp:useBean id:"引用声明" type="引用类型" class="实例对象" scope="属性作用域">,将引用类型声明为抽象类型,实例对象从抽象对象继承,从而建立bean的多态机制。

2.在servlet当中HttpServlet和GenericServlet都为抽象类,如果直接从httpservlet继承过来,不覆盖doGet和doPost方法,编译仍然能通过,说明HttpServlet类没有抽象方法,只是类为抽象类。但是对于GenericServlet类,它的service()方法为抽象方法,必须覆盖,但一般都重写这两个方法来为客户端服务。下面验证一下:

abstract class Person{
	private String name;
	public Person(){}
	public void setName(String name){
		this.name=name;
	}
	public String getName(){
		return name;
	}
}
class Employee extends Person{}
public class Abstract {

	public static void main(String[] args) {
		Person p=new Employee();
		p.setName("Taylor Swift");
		System.out.println(p.getName());
	}
}

编译能通过,并打印输出。如果在Person类中添加abstract方法,则Employee类必须实现该方法,从而实现抽象类的多态性。
 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java抽象类理解 的相关文章

随机推荐

  • 【js】js 中{},[]中括号,大括号使用详解

    大括号 表示定义一个对象 大部分情况下要有成对的属性和值 或是函数 一 大括号 表示定义一个对象 大部分情况下要有成对的属性和值 或是函数 如 var LangShen Name Langshen AGE 28 上面声明了一个名为 Lang
  • [Qt 教程之开始的开始] —— qrc资源文件介绍与使用

    Qt系列教程总目录 Qt工程分组中 除了Headers Sources Forms外 还有一个文件夹Resources 只有当工程中有图片 音频等资源文件时才会用到 首先将资源文件存放到工程目录下的文件夹中 然后添加 qrc文件 方法如下
  • Python3安装完全攻略 Mac篇

    前言 mac系统自带python 不过以当前mac系统的最新版本为例 自带的python版本都是2 X版本 虽然不影响老版本项目的运行 但是python最新的3 X版本的一些语法与2 X版本并不相同 网上的教程大神们也肯定都更新出了最新版的
  • LAN8720网卡掉线

    前提概念 差分线 网线输入输出分别由两条差分线构成 阻抗特性 再高速网络信号中 PCB走线需要达到指定的阻抗值 网线阻抗值 100ohm
  • Application.mk 向源代码传递宏定义

    在看cocos2dx代码时 经常看到 if defined COCOS2D DEBUG COCOS2D DEBUG gt 0 或者 if COCOS2D DEBUG gt 0 但是在源文件中又没有看到在那里定义 网上搜索了一下 发现是在Ap
  • 图像中二维码的检测和定位

    二维码 二维条码 二维码 2 dimensional bar code 是用某种特定的几何图形按一定规律在平面 二维方向上 分布的黑白相间的图形记录数据符号信息的 在代码编制上巧妙地利用构成计算机内部逻辑基础的 0 1 比特流的概念 使用若
  • 表面肌电信号处理流程——基于肌电信号分类的特征抽取的设计

    如图为表面肌电信号研究的一般流程 仅作参考 本文中主要在特征提取方面进行研究 动动小手指 帮我投上一票 摄影比赛 复制链接在微信搜索框打开哦 http h5 3431373334 hflw0tq cn app rWVzkuCTZg play
  • 安卓改透明屏有哪些方法和步骤?壁纸、主题、软件

    安卓改透明屏是指将安卓手机的屏幕背景变为透明 使得手机的背景图像或者壁纸能够透过屏幕显示出来 这样的改变可以让手机的界面更加个性化 也能够增加手机的美观度 要实现安卓手机的透明屏 可以通过以下几种方法 1 使用透明壁纸 在安卓手机的壁纸设置
  • 无法打开包括文件: “ui_XXX.h”: No such file or directory

    切换到Qmake 移除ui文件 h文件 cpp文件 重新添加到项目中去 会自动生成
  • 安装MySQL 失败 服务无法启动

    转载自 39条消息 Win11安装mysql 服务无法启动 1053错误之解决方法 为什么win11安装不了mysql 1丶MI的博客 CSDN博客 创建mysql服务时 系统已提示创建服务成功 但是net start mysql命令提示启
  • Azkaban-开源任务调度程序(使用篇)

    上篇文章说到了安装 这次说说使用 登录 https localhost 8443 注意是https 采用的是jetty ssl链接 输入账号密码azkaban azkanban 如果你之前没有更改的话 首页 首页有四个菜单 projects
  • spring mvc 框架搭建及详解

    原文地址 http blog csdn net wangpeng047 article details 6983027 现在主流的Web MVC框架除了Struts这个主力 外 其次就是Spring MVC了 因此这也是作为一名程序员需要掌
  • 【嵌入式百科】002——原码、反码、补码

    书写时表示的数和机器中编码表示的数分别称为真值 无符号数 与机器数 有符号数 常用的机器数表示有原码 反码 补码三种形式 以下解释基于八位二进制 一 原码 1 原码表示法在数值前面增加了一位符号位 即最高位为符号位 正数该位为0 负数该位为
  • Devops学习实践(二) Jenkins安装、配置、任务构建

    随着工作的要求 devops作为今年工作的一个重点 由此也引发了自己对于devops相关的工具和技术的学习和实践 基于上述背景 这个系列将逐步的介绍SVN的安装和配置 jenkins安装和配置 reviewboard findbugs ch
  • 2021-12-17 nec 红外线 协议

    1 nec协议编码 Tim中断后 下降沿输出 6个 脉冲 分别系 1 引导码 9ms 低电平 4 5ms 高电平 2 5 数据脉冲 分别接收 8位数据 u32 data 数据0 1 按硬件实际协议定义 0 低电平 560us 高电平 560
  • 如何用AI实现视频防抖?台湾大学和谷歌提出NeRViS:无需裁剪的全帧视频稳定算法...

    点击上方 CVer 选择加 星标 置顶 重磅干货 第一时间送达 鱼羊 发自 凹非寺 来源 量子位 QbitAI 右边的画面 是不是比左边的画面看上去稳定许多 这样的效果 大家可能并不陌生 现在 不少手机厂商都为自家手机配备了类似的防抖算法
  • 以神龙出行小程序为例,说一些网站技术

    注册和登录功能 用户注册和登录可以使用手机号验证 第三方登录等方式来实现 这需要与后台服务器进行数据交互 并进行身份验证 数据存储和管理 用户的个人信息和常用地址需要进行存储和管理 这可以通过数据库来实现 如关系型数据库或NoSQL数据库
  • 前端设计模式和设计原则之设计模式

    作为前端开发 在code时 或多或少地都会践行设计模式 但是你清楚自己用到的是何种设计模式吗 为什么前端开发一定要懂设计模式呢 code时不遵从设计模式 又能怎样呢 上面的问题可以留作思考 这里首先介绍一下前端开发经常遇到的一些设计模式和设
  • linux云计算(linux系统)

    什么是linux linux是一种操作系统 曾经被Microsoft视为最大的威胁 而今是互联网领域的幕后老大 Unix Linux发展史 unix系统发展在这里插入代码片 unix诞生 1969年底 Ken Thompson Dennis
  • java抽象类理解

    在java中抽象类不一定要有抽象方法 可以将所有方法都实现一遍 但class类声明为抽象类 这样做和不声明抽象类相比 差别只是抽象类不能实例化 继承的关键字仍然是extends 而且继承过后可以不覆盖方法 只是使用继承而来的方法 1 在js