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:構築方法を含むインスタンス化プロセス。