抽象类是多个具体子类抽象出来的父类,具有高层次的抽象性;以该抽象类作为子类的模板可以避免子类设计的随意性;

抽象类的体现主要就是模板模式设计,抽象类作为多个子类的通用模板,子类在抽象类的基础上进行拓展,但是子类在总体上大致保留抽象类的行为方式;

编写一个抽象父类,该父类提供了多个子类的通用方法,并把一个或多个抽象方法留给子类去实现,这就是模板设计模式;

模板模式应用的简单规则:

1.抽象父类可以只定义需要使用的某些方法,其余留给子类去实现;

2.父类提供的方法只是定义了一个通用算法,其实现必须依赖子类的辅助;

我的总结:

如果父类的方法不想被子类覆写,那么可以在前面加上final关键字修饰。

Eg:

package reviewDemo;

//模板模式

//抽象类中包含很多的抽象方法,子类必须去覆写!

abstract class Method{

abstract double mul();//返回值类型如果是void的话,下面报错,因为没有返回值,无法引用!

abstract double divid();

void show(){

System.out.println("面积是:"+mul());//周长

System.out.println("面积是:"+divid());//面积

}

}

class Square extends Method{

double d;

public Square(double d) {

super();

this.d = d;

}

@Override

double mul() {

return d * d;

}

@Override

double divid() {

return 4 * d;

}

}

class Cirle extends Method{

double r;

public Cirle(double r) {

super();

this.r = r;

}

@Override

double mul() {

return 2 * 3.14 * r;

}

@Override

double divid() {

return 3.14 * r * r;

}

}

public class Demo16 {

public static void main(String[] args) {

Square s = new Square(5);

s.show();

Cirle c = new Cirle(4);

c.show();

}

}

java 抽象类 模板_java抽象类的体现-模板模式相关推荐

  1. java抽象类变量_Java抽象类

    一.解释: Java的普通类是一个完善的功能类,可以直接实例化对象,并且在普通类中可以包含有构造方法.普通方法.static方法.常量和变量等内容.而抽象类是指在普通类的结构里面增加抽象方法的组成部分 ...

  2. java抽象类列子_Java 抽象类,求个范例

    展开全部 抽象类与接口紧密相关,32313133353236313431303231363533e4b893e5b19e31333262373337它们不能实例化,并且常常部分实现或根本不实现.抽象类 ...

  3. java抽象类关键字_Java 抽象类 abstract关键字

    抽象类前使用abstract关键字修饰,则该类为抽象类 抽象的方法是不完全的,它只是一个方法签名而完全没有方法体 抽象的方法没有花括号 继承抽象类的子类必须覆盖父类的抽象函数(即:子类继承抽象类以后, ...

  4. java 抽象类 方法_java 抽象类

    Java为什么使用抽象类和接口 Java接口和Java抽象类代表的就是抽象类型,就是我们需要提出的抽象层的具体表现.OOP面向对象的编程,如果要提高程序的复用率,增加程序的可维护性,可扩展性,就必须是 ...

  5. java 抽象类 模板_Java抽象类的构造模板模式用法示例

    搜索热词 本文实例讲述了Java抽象类的构造模板模式用法.分享给大家供大家参考,具体如下: 一 点睛 模板模式的一些简单规则. 抽象父类可以只定义需要使用的某些方法,而不能实现的部分抽象成抽象方法,留 ...

  6. java抽象类创建_Java抽象类

    Java可以创建一种类专门用来当做父类,这种类称为"抽象类". "抽象类"的作用类似"模板",其目的是要设计者依据它的格式来修改并创建新的类 ...

  7. java 类 抽象类 接口_Java抽象类和接口

    抽象类和接口 一.抽象类和抽象方法 对于抽象类,首先需要介绍抽象方法,而抽象类因抽象方法的存在而存在 1.抽象方法 (1)必要性: 有些父类方法不确定如何写方法体,但是对于继承它的子类又必须用到这个方 ...

  8. java定义两个动物抽象类 程序_java抽象类和接口详解

    接口和内部类为我们提供了一种将接口与实现分离的更加结构化的方法. 抽象类与接口是java语言中对抽象概念进行定义的两种机制,正是由于他们的存在才赋予java强大的面向对象的能力.他们两者之间对抽象概念 ...

  9. java分页模板_java 分页模型的模板

    分页sql select top 每页要显示的记录数 * from 表名 where 主键 not in (select top (每页显示的记录数*(当前页-1)) 主键 from 表名 ) sel ...

最新文章

  1. 《算法竞赛中的初等数论》(二)正文 0x20同余(ACM / OI / MO)(十五万字符数论书)
  2. CodeSmith 学习资料收集
  3. leetcode算法题--最大正方形
  4. AI工程师面试凭高频问题提前准备,命中率会是多少?
  5. docker重启mysql数据丢失_mysql如何确保数据不丢失的?我们借鉴这种设计思想实现热点账户高并发
  6. n个节点的二叉树n+1_使用C ++程序删除链接列表的M个节点后的N个节点
  7. linux查看java虚拟机内存_深入理解java虚拟机(linux与jvm内存关系)
  8. 微信小程序简单入门1
  9. local tomcat 找不到springmvc里的包_唰唰的手撕一个简单的Spring Mvc 框架
  10. 操作系统中的用户空间和内核空间
  11. HoloLens 2开发:获取并渲染双手
  12. Python字典的索引
  13. 天大计算机研究生毕业工资,本科生VS研究生工资差距这么大?又一高校薪资排行曝光,看完扎心了……...
  14. 邮件群发软件使用攻略
  15. u盘启动 联想一体机_联想一体机如何设置U盘启动
  16. proxmox ve 中文社区_Proxmox VE 部署维护
  17. python===range()函数
  18. 一些标签属性--aria-label--rel属性
  19. Redis从阿里云迁移至华为云
  20. 计算机二级小蒋在教务处负责学生成绩,小蒋是一位中学教师,在教务处负责初一年级学生的成绩管理。由于学校地处偏远地区..._考试资料网...

热门文章

  1. 如何从数据库中筛选出达成指定里程碑节点的项目_房地产企业如何搭建运营管理体系...
  2. matlab光流lk,Matlab数字视频处理 光流LK算法
  3. 星环TranswarpInceptor通过waterdrop添加表,视图,函数和存储过程
  4. Redis-常用数据结构
  5. Laputa在cnblogs
  6. ZCMU 1074-1079
  7. 《伟大的小细节:互联网产品设计中的微创新思维》——2.2 必经流程简化
  8. 脑网络分析软件Gretna操作--Network Analysis
  9. 安卓保存数据之onsaveInstanceStace(Bundle outState)的使用
  10. 数据底层损坏的恢复方法—拼碎片恢复数据