java实现打印机源码组装

java基于eclipse实现打印机源码组装

大家好,我是小鱼儿.yanxiao,非常荣幸各位来到我的博客。今天又分享一波代码,若是喜欢本篇文章记得三连一波,也欢迎大家发言,废话不多说跑代码。

前言

文章java代码版本"1.8.0_202"
本篇代码采用java面向接口编程


提示:以下是本篇文章正文内容,下面案例可供参考

PrinterTest.java:

package chaper11.printdemo.iface;
/**程序测试起步类*/
public class PrinterTest {
    
    
	public static void main(String[] args) {
    
    
		Printer printer = new Printer();
		//为打印机安装纸张和墨盒
		printer.setInkbox(new ColorInkBoxImpl());
		printer.setPaper(new A4PaperImpl());
		printer.print("测试内容");
	}
}

Printer.java:

package chaper11.printdemo.iface;
/**
 * 打印机类-使用标准的墨盒和纸张进行打印
 * @author Administrator
 *
 */
public class Printer {
    
    
	private IInkBox inkbox;//打印机中的墨盒
	private IPaper paper;//打印机中的纸张
	/**
	 * 打印机的打印方法-使用墨盒和纸张
	 * content 传递内容给打印机
	 */
	public void print(String content) {
    
    
		if (null == inkbox || null==paper) {
    
    
			System.out.println("墨盒和纸张出现错误,请安装正确后重试!");
			return;
		}
		//打印过程
		String color = inkbox.getColor();
		String type = paper.getSize();
		System.out.println("以下文字是"+ color +"颜色的!");
		System.out.println("使用纸张: "+ type);
		System.out.println("打印内容: "+ content);
	}
	public IInkBox getInkbox() {
    
    
		return inkbox;
	}
	public void setInkbox(IInkBox inkbox) {
    
    
		this.inkbox = inkbox;
	}
	public IPaper getPaper() {
    
    
		return paper;
	}
	public void setPaper(IPaper paper) {
    
    
		this.paper = paper;
	}
}

IPaper.java:

package chaper11.printdemo.iface;
/**
 * 定义获得纸张尺寸的标准方法(接口类) 
 * @author Administrator
 *
 */
public interface IPaper {
    
    
/**
 * 获得纸张的尺寸
 * @return
 */
	String getSize();
}

IInkBox.java:

package chaper11.printdemo.iface;
/**
 * 墨盒接口-定义一个通用方法=获得墨盒颜色(接口类)
 * @author Administrator
 *
 */
public interface IInkBox {
    
    
/**
 * 获得墨盒的颜色
 */
	public String getColor();
}

ColorInkBoxImpl.java:

package chaper11.printdemo.iface;
/**
 * 定义颜色墨盒
 * @作者 YanXiaolxy
 * @版本 2020.03
 * @时间 2021年1月19日 下午11:11:04
 */
public class ColorInkBoxImpl implements IInkBox{
    
    

	@Override
	public String getColor() {
    
    
		// TODO Auto-generated method stub
		return "红色";
	}
}

A4PaperImpl.java:

package chaper11.printdemo.iface;
/**
 * 定义纸张大小
 * @作者 YanXiaolxy
 * @版本 2020.03
 * @时间 2021年1月19日 下午11:30:15
 */
public class A4PaperImpl implements IPaper{
    
    
	@Override
	public String getSize() {
    
    
		// TODO Auto-generated method stub
		return "A4";
	}
}

总结

java程序执行顺序如下:
  1.类中所有属性的默认值(一举而成)。
  2. 父类静态属性初始化,静态块,静态方法的声明(按出现顺序执行)。
  3. 子类静态属性初始化,静态块,静态方法的声明 (按出现顺序执行)。
以上是(类加载过程,不涉及构造方法)。
  4. 调用父类的构造方法,首先父类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)然后父类构造方法。
  5. 调用子类的构造方法,首先子类的非静态成员初始化,构造块,普通方法的声明(按出现顺序执行)然后子类构造方法。
其中:
1-3:类加载过程,不涉及构造方法。
1-5: 实例化过程,涉及构造方法。

猜你喜欢

转载自blog.csdn.net/yanxiaolxy/article/details/112854662