- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工程师培训资料标题:Java培训系列课程-抽象类(精品培训)培训人:xx本章学习目标掌握继承性的主要作用、实现、使用限制;掌握方法覆写的操作;掌握final关键字的使用;掌握对象多态性的概念以及对象转型的操作;掌握抽象类和接口的定义、使用、常见设计模式;掌握Object类的主要特点及实际应用;掌握匿名内部类的使用;掌握基本数据类型包装类的使用。抽象类普通类可以直接产生实例化对象,并且在普通类之中可以包含有构造方法、普通方法、static方法、常量、变量的内容。而所谓的抽象类就是指在普通类的结构里面增加抽象方法的组成部分,抽象方法指的是没有方法体的方法,同时抽象方法还必须使用abstract关键字进行定义。拥有抽象方法的类一定属于抽象类,抽象类要使用abstract声明。范例:定义抽象类abstract class A {// 定义一个抽象类,使用abstract声明 public void fun() {// 普通方法 System.out.println(存在有方法体的方法!); } // 此方法并没有方法体的声明,并且存在有abstract关键字,表示抽象方法 public abstract void print();}此时抽象类已经被成功的定义出来,但是如果要想使用抽象类则必须遵守如下原则:抽象类必须有子类,即:每一个抽象类一定要被子类所继承(使用extends关键字),但是在Java中每一个子类只能够继承一个抽象类,所以具备有单继承局限;抽象类的子类(子类不是抽象类)必须覆写抽象类之中的全部抽象方法(强制子类覆写);依靠对象的向上转型概念,可以通过抽象类的子类完成抽象类的实例化对象操作。范例:正确使用抽象类abstract class A {// 定义一个抽象类,使用abstract声明 public void fun() {// 普通方法 System.out.println(存在有方法体的方法!); } // 此方法并没有方法体的声明,并且存在有abstract关键字,表示抽象方法 public abstract void print();}//一个子类只能够继承一个抽象类,属于单继承局限class B extends A {// B类是抽象类的子类,并且是一个普通类 public void print() {// 强制要求覆写的方法 System.out.println(Hello World !) ; }}public class TestDemo { public static void main(String args[]) { A a = new B() ;// 向上转型 a.print() ; // 被子类所覆写过的方法 }}抽象类的相关限制抽象类里面由于会存在一些属性,那么在抽象类之中一定会存在构造方法,目的:为属性初始化,并且子类对象实例化的时候依然满足于先执行父类构造,再调用子类构造的情况。抽象类不能够使用final定义:因为抽象类必须有子类,而final定义的类不能够有子类;抽象类中可以没有任何抽象方法,但是只要是抽象类,那么依然不能够直接使用关键字new实例化对象。抽象类中依然可以定义内部的抽象类,而实现的子类也可以根据需要选择是否定义内部类来继承抽象内部类。外部抽象类不允许使用static声明,而内部的抽象类允许使用static声明,使用static声明的内部抽象类就相当于是一个外部抽象类,继承的时候使用“外部类.内部类”的形式表示类名称。抽象类中,如果定义有static属性或方法的时候,都可以在没有对象的时候直接调用。抽象类应用 —— 模版设计模式现在假设有三类现实的事物(或者是更多的事物): 机器人(Robot):具备充电、工作两个基本操作;人类(Human):具备吃饭、工作、睡觉三个基本操作;猪(Pig):具备吃饭、睡觉两个基本操作。范例:定义的是一个行为类abstract class Action {// 定义一个抽象的行为类,行为不是具体的 // 定义常量时必须保证两个内容相加的结果不是其它行为,例如:EAT + SLEEP的结果为6不会和其它值冲突 public static final int EAT = 1; // 定义吃的命令 public static final int SLEEP = 5; // 定义睡的命令 public static final int WORK = 7; // 定义工作的命令 public void command(int flag) { switch (flag) { // switch只支持数值判断,而if支持条件判断 case EAT: // 当前为吃的操作 this.eat();// 调用子类中具体的“吃”方法 break; case
您可能关注的文档
- java程序设计(说课).ppt
- 常见木材品种知识(培训).ppt
- 啤酒知识培训设计(方案).ppt
- 微博营销十大操作模型(培训).ppt
- 智慧泊车产品(介绍).pptx
- 2020年劳动合同知识(培训).ppt
- 核安全质量保证概述(讲义).ppt
- 数字知识系统的九大环节(讲义).ppt
- 水稻螟虫知识课件 (培训).ppt
- 基于主题的嵌入式学习(知识图谱).pptx
- 2025年智能可穿戴设备多参数生理信号采集技术创新报告.docx
- 2025年设施农业智能化应用前景分析及未来五到十年产业趋势报告.docx
- 锂电池湿法隔膜技术革新2025年报告:创新工艺引领行业变革.docx
- 2025年环保造纸装备市场分析及未来十年技术创新趋势报告.docx
- 中考冲刺国旗下讲话稿范文(33篇).docx
- 2026年中考数学:多边形压轴题练习(含解析).pdf
- 2025年智能零售防损创新:无人店安全监控技术解析.docx
- 基于云计算的2025年教育资源共享平台创新教育资源共享生态构建.docx
- 高效异质结光伏组件制备技术2025年进展报告.docx
- 2025年B2B企业内容营销策略变革与执行路径分析报告.docx
最近下载
- 2024年琼海市菜篮子市场开发有限责任公司招聘真题 .pdf VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)备考练习题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试备考题库及答案解析.docx VIP
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试参考题库附答案解析.docx VIP
- GB∕T 39758-2021 无障碍设计 盲文在标志、设备和器具上的应用.pdf
- 2025海南琼海市菜篮子市场开发有限责任公司招聘10人(第1号)笔试模拟试题及答案解析.docx VIP
- 法哲学原理第二讲导论-公开课件.ppt VIP
- 法哲学原理课件.pptx
- 轻型卒中临床诊疗中国专家共识(2024版).pptx VIP
- 广告语言的语用分析.docx VIP
文档评论(0)