Javaはプリンタソースアセンブリを実現します

JavaはEclipseに基づいたプリンターソースアセンブリを実現します

みなさん、こんにちは。Xiaoyuerです。Yanxiao、ブログに来てとても光栄です。今日、私は別のコードの波を共有しました。この記事が気に入ったら、3つの連続した波を覚えておいてください。コードを実行するのはそれほどナンセンスではなく、誰でも大歓迎です。

序文

記事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