Java réalise l'assemblage de la source de l'imprimante

Java réalise un assemblage source d'imprimante basé sur Eclipse

Bonjour à tous, je suis Xiaoyuer Yanxiao, je suis très honoré de venir sur mon blog. Aujourd'hui j'ai partagé une autre vague de code. Si vous aimez cet article, souvenez-vous de trois vagues consécutives, et tout le monde est invité à parler, pas beaucoup de bêtises pour exécuter le code.

Préface

L'article version du code java "1.8.0_202"
Cet article utilise la programmation orientée interface Java


Conseil: ce qui suit est le contenu de cet article, les cas suivants sont pour référence

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

Pour résumer

L'ordre d'exécution du programme java est le suivant:
  1. Les valeurs par défaut de tous les attributs de la classe (d'un seul coup).
  2. L'initialisation de la propriété statique de la classe parent, le bloc statique, la déclaration de méthode statique (exécutée dans l'ordre d'apparition).
  3. Initialisation de propriété statique de sous-classe, bloc statique, déclaration de méthode statique (exécutée dans l'ordre d'apparition).
Ce qui précède est (le processus de chargement de classe n'implique pas la méthode de construction).
  4. Appelez la méthode de construction de la classe parente, d'abord le membre non statique de la classe parente est initialisé, le bloc de construction, la déclaration de la méthode ordinaire (exécutée dans l'ordre d'apparition) et ensuite la méthode de construction de la classe parente.
  5. Appelez la méthode de construction de la sous-classe, initialisez d'abord le membre non statique de la sous-classe, construisez le bloc, la déclaration de la méthode ordinaire (exécutée dans l'ordre d'apparition), puis la méthode de construction de la sous-classe.
Parmi eux:
1-3: Processus de chargement de classe, aucune méthode de construction n'est impliquée.
1-5: Le processus d'instanciation, impliquant des méthodes de construction.

Je suppose que tu aimes

Origine blog.csdn.net/yanxiaolxy/article/details/112854662
conseillé
Classement