java:接口实例

时间:2023-12-21 15:53:02

接口:打印机接口

interface Printer
{
public void read();
}

函数一:佳能打印机

class CanPrinter implements Printer
{
public void read(){
System.out.println("Canread");
};
}

函数二:惠普打印机

class HPPrinter implements Printer
{
public void read(){
System.out.println("HPread");
};
}

主函数:

class Test
{
public static void main(String args[]){
int flag=0;
Printer p = null;
if(flag==0){
p = new HPPrinter();
}else{
p = new CanPrinter();
} p.read();
}
}

得出:HPread

二次整合

接口、函数一、二不变,增加判断flag的类,方便修改

class PrinterFactory
{
Printer getPrinter(int flag){ //定义类型为Printer
Printer p = null;
if(flag==0){
p = new HPPrinter();
}else if(flag==1){
p = new CanPrinter();
}
return p; //返回对象
}
}

主函数:

class Test
{
public static void main(String args[]){
int flag=0;
PrinterFactory f = new PrinterFactory();
Printer printer = f.getPrinter(flag);
printer.read();
}
}