Java realiza el ensamblaje de la fuente de la impresora

Java realiza el ensamblaje de la fuente de la impresora basado en eclipse

Hola a todos, soy Xiaoyuer Yanxiao, es un honor para mí venir a mi blog. Hoy compartí otra ola de código. Si te gusta este artículo, recuerda tres olas consecutivas, y todos son bienvenidos a hablar, no hay mucha tontería para ejecutar el código.

Prefacio

El artículo versión del código java "1.8.0_202"
Este artículo utiliza programación orientada a la interfaz de Java


Sugerencia: El siguiente es el contenido de este artículo, los siguientes casos son para referencia

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";
	}
}

para resumir

El orden de ejecución del programa java es el siguiente:
  1. Los valores predeterminados de todos los atributos de la clase (de una sola vez).
  2. Inicialización de la propiedad estática de la clase padre, bloque estático, declaración de método estático (ejecutado en orden de aparición).
  3. Inicialización de propiedad estática de subclase, bloque estático, declaración de método estático (ejecutado en orden de aparición).
Lo anterior es (el proceso de carga de clases, no involucra el método de construcción).
  4. Invoque el método de construcción de la clase principal, primero se inicializa el miembro no estático de la clase principal, el bloque de construcción, la declaración del método ordinario (ejecutado en el orden de aparición) y luego el método de construcción de la clase principal.
  5. Invoque el método de construcción de la subclase, primero inicialice el miembro no estático de la subclase, construya el bloque, la declaración del método ordinario (ejecutado en el orden de aparición) y luego el método de construcción de subclase.
Entre ellos:
1-3: Proceso de carga de clases, no se involucra ningún método de construcción.
1-5: El proceso de instanciación, que involucra métodos de construcción.

Supongo que te gusta

Origin blog.csdn.net/yanxiaolxy/article/details/112854662
Recomendado
Clasificación