用接口
现在有一台打印机
打印机有纸张和墨盒
有一个打印的方法
用什么墨盒用什么纸张
建一个打印机纸张类型的接口和打印机打印颜色的接口
package com.hnpi.Inter;
public interface Box {
public void box();
}
package com.hnpi.Inter;
public interface Paper {
public void paper();
}
建一个打印机实体类
package com.hnpi.bean;
import com.hnpi.Inter.Box;
import com.hnpi.Inter.Paper;
public class Prints {
public void printA1(Box b , Paper p){
System.out.print("color:");
b.box();
System.out.print("纸:");
p.paper();
}
}
建一个继承颜色和纸张类型
package com.hnpi.dao;
import com.hnpi.Inter.Paper;
public class A4Paper implements Paper {
@Override
public void paper() {
System.out.println("A4");
}
}
package com.hnpi.dao;
import com.hnpi.Inter.Box;
public class colorBoxReg implements Box {
@Override
public void box() {
System.out.println("red");
}
}
package com.hnpi.dao;
import com.hnpi.Inter.Paper;
public class A5Paper implements Paper {
@Override
public void paper() {
System.out.println("A5");
}
}
package com.hnpi.dao;
import com.hnpi.Inter.Box;
public class colorBoxBlack implements Box {
@Override
public void box() {
System.out.println("Black");
}
}
测试此方法
package com.hnpi.test;
import com.hnpi.bean.Prints;
import com.hnpi.dao.A4Paper;
import com.hnpi.dao.A5Paper;
import com.hnpi.dao.colorBoxBlack;
import com.hnpi.dao.colorBoxReg;
public class MainApp {
public static void main(String[] args) {
Prints ps = new Prints();
ps.printA1(new colorBoxReg(), new A4Paper());
ps.printA1(new colorBoxBlack(), new A5Paper());
}
}