定义一个抽象的打印机类Printer

有属性color,有抽象方法Print()方法;定义一个其具体的ColorPrinter子类,实现Print(),当color属性为“彩色”,则实现彩色打印;如果为“黑白色”,则实现黑白打印。

public abstract class Printer {private String color;public Printer(String color) {super();this.color = color;}public String getColor() {return color;}public abstract String print() ;
}
class ColorPrinter extends Printer {public ColorPrinter(String color) {super(color);}public String print() {switch (getColor()) {case "彩色":System.err.println("------------------"+getColor()+"打印"+"----------------------");break;case "黑白色":System.out.println("------------------"+getColor()+"打印"+"----------------------");break;default:throw new Error("所输入颜色不合规则!!!");  /*保证了输入彩色,在控制台得出的结果字体为红色,输入黑白色,得到的结果为黑色,输入其他内容,以不合规则为由报错。*/}return getColor();}}//main函数进行测试:class PrinterTest{public static void main(String[] args) {// TODO Auto-generated method stubPrinter printer=new ColorPrinter("彩色");printer.print();}}

运行结果:

------------------彩色打印----------------------    

对小编的代码有兴趣的朋友们快快关注我吧~

Java 定义一个抽象的打印机类Printer,定义一个抽象类和具体的子类。相关推荐

  1. 程序功能:创建打印机类Printer,定义抽象方法Print()。 创建针式打印机类DotMatrixtPrinter和墨式打印机InkpetPrinter两个子类,修改测试类,实现该打印机打印。

    程序功能:创建打印机类Printer,定义抽象方法Print(). 创建针式打印机类DotMatrixtPrinter和墨式打印机InkpetPrinter两个子类,并在各自类中重新print方法,编 ...

  2. 定义一个抽象的Role类 有姓名 年龄 性别等成员变量 .......

    /** 6:定义一个抽象的"Role"类 有姓名 年龄 性别等成员变量      1. 要求尽可能隐藏所有变量(能够私有就私有,能够保护就不要公有)      再通过GetXXX( ...

  3. 【设计一个抽象的形状类Shape,方法:求周长和求面积】

    [设计一个抽象的形状类Shape,方法:求周长和求面积.shape类的子类:Rect(矩形),Circle(圆形).Rect类的子类:Square(正方形)不同的子类会有不同的计算周长和面积的方法.] ...

  4. Java知多少(18)类的定义及其实例化

    类必须先定义才能使用.类是创建对象的模板,创建对象也叫类的实例化. 下面通过一个简单的例子来理解Java中类的定义: 1 public class Dog{ 2 String name; 3 int ...

  5. 一个简单的c++类的定义和实例化

    #include "iostream" #include <string> using namespace std;class mycoach { private:st ...

  6. java实验:正n多边形类的定义与使用

    一.实验目的 (1)理解对象和类,掌握用类创建对象模型. (2)理解和掌握数据域封装,可见性修饰符的使用 (3)学习如何定义类和创建对象,理解对象引用变量的概念. (4)理解构造方法的作用,并使用构造 ...

  7. Hibernate的多表查询,分装到一个新的实体类中的一个方法

    不知道是否还有其他方法实现,请高人指点. 如果涉及到多张表多字段查询,并且想利用查询出来的字段在界面层构建一个新的实体类,可以使用这种方法: 如果查询出来的多字段中,有多个字段的名字都相同(如想查询出 ...

  8. 在类内定义成员函数、在类外定义成员函数、计算长方体的体积【C++面向对象编程类的使用经典案例】

    文章目录 一.在类内定义成员函数 二.在类外定义成员函数(使用符号::) 三.计算3个长方体的体积(class成员函数) 一.在类内定义成员函数 #include <iostream> u ...

  9. java编译会产生多少个类文件,编译一个定义了三个类和四个方法的Java源程序文件,总共会产生多少个字节码文件 ? ( )...

    编译一个定义了三个类和四个方法的Java源程序文件,总共会产生多少个字节码文件 ? ( ) 更多相关问题 论述风化作用基本概念及其主要类型. 什么是药用植物 学?其 研究任务是什么 ? 庐山瀑布很有名 ...

最新文章

  1. 【Web安全】XSS简介与XSS测试平台截取用户COOKIE的探索
  2. php exit、return、break、continue之间的差别,具体介绍
  3. cactus java,使用cactus实现对servlet进行单元测试
  4. boost::hana::min用法的测试程序
  5. 反汇编学习笔记2 函数的本质
  6. 滚动加载数据 php,无刷新动态加载数据 滚动条加载适合评论等页面
  7. 集成Spring和JavaServer Faces:改进的模板
  8. 怎么用Python获取全网最全的杰尼龟表情包
  9. 对vuex在项目中的使用
  10. 前端 domparser未定义怎么解决_统一异常处理到底应该怎么做呢?
  11. zookeeper入门综合概要介绍
  12. linux interfaces配置文件详解
  13. JAVA 8:Lambdas表达式初体验
  14. Notepad ++添加到每一行
  15. 手机序列号和IMEI号的区别
  16. 资深摄影师眼中 青岛值得一游的景点有哪些之4
  17. 阿里云KMS创建应用接入点
  18. couchDB的一些介绍
  19. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之02【EC20模组硬件供电和开关机复位操作】
  20. windows 静态ip与动态ip切换脚本

热门文章

  1. 宏定义,宏函数和内联函数
  2. 打怪升级之小白的大数据之旅(四十一)<大数据与Hadoop概述>
  3. H5和CSS3新特性总结
  4. Windows10 配置 Android SDK 环境变量
  5. 【华为OD机试c++】Excel单元格数值统计【 2023 Q1|200分】
  6. javascript函数以及对象
  7. 【高并发项目实战】千万级购物车系统缓存架构方案
  8. canvas画旋转椭圆
  9. 云麦 体脂称 华为 哪个好_现在市面上的体脂称哪个牌子的最好?
  10. oracle数据库回滚率高,oracle数据库回滚