java - 接口回调讲解2 - 将接口视为工厂
来源:互联网 发布:linux批量安装 编辑:程序博客网 时间:2024/06/06 01:18
1.工厂模式的接口回调结构图
2.苹果和香蕉的产品类
//苹果package com.sf.entity; import com.sf.jk.Fruit; public class Apple implements Fruit { public Apple(){ System.out.println("生产水果"); } public void eat() { System.out.println("苹果可以吃"); } public void plant() { // TODO Auto-generated method stub System.out.println("苹果可以种"); } public void sell() { // TODO Auto-generated method stub System.out.println("苹果可以卖"); } } //香蕉 package com.sf.entity; import com.sf.jk.Fruit; public class Banana implements Fruit{ public Banana(){ System.out.println("生产香蕉"); } public void eat() { // TODO Auto-generated method stub System.out.println("香蕉可以吃"); } public void plant() { // TODO Auto-generated method stub System.out.println("香蕉可以种"); } public void sell() { // TODO Auto-generated method stub System.out.println("香蕉可以卖"); } }
3.抽象接口
3.1产品的抽象接口
package com.sf.jk; public interface Fruit { public void eat(); public void plant(); public void sell(); }
3.2工厂的抽象接口
package com.sf.jk; public interface CreateFactory { public Fruit createFruit(); }
4.工厂的具体实现方法
package com.sf.hf; import com.sf.entity.Apple; import com.sf.jk.CreateFactory; import com.sf.jk.Fruit; public class CreateApple implements CreateFactory{ public Fruit createFruit() { // TODO Auto-generated method stub return new Apple(); } } package com.sf.hf; import com.sf.entity.Banana; import com.sf.jk.CreateFactory; import com.sf.jk.Fruit; public class CreateBanana implements CreateFactory{ public Fruit createFruit() { // TODO Auto-generated method stub return new Banana(); } }5.客户端调用
import com.sf.hf.CreateApple; import com.sf.hf.CreateBanana; import com.sf.hf.FruitFactory; import com.sf.jk.CreateFactory; import com.sf.jk.Fruit; public class Test { private static CreateFactory cf1,cf2; private static Fruit fruit; public static void main(String[] args) { System.out.println("---------创建苹果---------"); cf1 = new CreateApple(); fruit = cf1.createFruit(); fruit.eat(); fruit.plant(); System.out.println("---------创建香蕉---------"); cf2 = new CreateBanana(); fruit = cf2.createFruit(); fruit.eat(); fruit.plant(); } }
6.最后的运行结果
---------创建苹果--------- 生产水果 苹果可以吃 苹果可以种 ---------创建香蕉--------- 生产香蕉 香蕉可以吃 香蕉可以种
0 0
- java - 接口回调讲解2 - 将接口视为工厂
- java - 接口回调讲解1
- java接口工厂
- Java 接口工厂模式
- 接口的作用|实例讲解java接口
- java中的接口与工厂
- java之Collection接口讲解
- Java中Enumeration接口讲解
- Android接口回调形象讲解
- Java 接口参数,接口回调.
- Java:接口回调
- java 回调接口
- java接口回调
- Java 接口回调
- java接口回调
- Java接口回调
- java接口回调
- Java接口回调
- Android平台png转jpg的实现
- 图像滤镜处理算法:灰度、黑白、底片、浮雕 (转)
- S2SH开发环境搭建
- Centos 6上 安装 Mysql 5.7.13
- C++ 中的三种继承public , protected, private
- java - 接口回调讲解2 - 将接口视为工厂
- spring+多线程小技巧
- WCSessionUserInfoTransfer
- vim使用方法----拷贝和删除任意长度字符串
- Spark Streaming 中使用kafka低级api+zookeeper 保存 offset 并重用 以及 相关代码整合
- PHP使用Apache中的ab(ApacheBench)测试网站的并发量
- Android:关于Android Studio连接手机的各种问题 & 解决“通常每个套接字地址(协议/网络地址/端口)只允许使用一次(10048)”的问题。
- ESB 企业服务总线基本内容概述
- 进程和线程简述