【ThinkingInJava】17、匿名类的工厂方法
来源:互联网 发布:多益网络 m.duoyi.com 编辑:程序博客网 时间:2024/05/22 06:49
/*** 书本:《Thinking In Java》* 功能:匿名类的工厂方法* 文件:Factories.java* 时间:2015年4月3日17:42:03* 作者:cutter_point*/package Lession10innerclasses;import static net.mindview.util.Print.*;interface Service//一个接口,含有两个方法{void method1();void method2();}interface ServiceFactory//工厂接口{Service getService();}class Implementation1 implements Service{public Implementation1() {}@Overridepublic void method1() {print("Implementation1 method1");}@Overridepublic void method2() {print("Implementation1 method2");}public static ServiceFactory factory = new ServiceFactory() {//内部类走起@Overridepublic Service getService() {return new Implementation1();}};}class Implementation2 implements Service{public Implementation2() {}@Overridepublic void method1() {print("Implementation2 method1");}@Overridepublic void method2() {print("Implementation2 method2");}public static ServiceFactory factory = new ServiceFactory() {//内部类走起@Overridepublic Service getService() {return new Implementation2();}};public static void main(String [] args){System.out.println("Implementation2 main using ");}}public class Factories {public static void serviceConsumer(ServiceFactory fact){Service s = fact.getService();s.method1();s.method2(); }public static void main(String [] args){serviceConsumer(Implementation1.factory);serviceConsumer(Implementation2.factory);//System.out.println("----------------------------------------");//System.out.println(System.nanoTime());}}
运行:
Implementation1 method1 obj1
Implementation1 method2 obj1
Implementation2 method1 obj1
Implementation2 method2 obj1
0 0
- 【ThinkingInJava】17、匿名类的工厂方法
- 匿名类的工厂模式
- 【ThinkingInJava】49、List的各种功能方法
- 对比.net使用Java的匿名类对工厂方法模式提供更优雅的实现
- 匿名内部类实现工厂方法的两个典例
- Java中匿名内部类的工厂方法使用
- 匿名类+匿名方法
- 匿名内部类工厂方法-内部类
- 匿名类和匿名方法
- 创建匿名类 重写匿名类的方法
- java中一般的工厂类和匿名工厂类的比较
- ThinkingInJava
- 从头认识java-8.8 使用匿名内部类改造7.8章节的工厂方法
- 【ThinkingInJava】6、测试自己的输出类库
- Java方法工厂,接口,常用日期类Date面向对象,匿名内部类局部类
- 方法内匿名类的例子
- 匿名类作为方法的参数
- 抽象类和匿名方法的使用
- NVIDIA正式宣布CUDA 6.0:支持统一寻址!
- php开发之js修改页面css样式
- 算法-找出其他出现偶数次的数组中出现1次,2次,3次的数
- 软考-----进程,线程,管程,程序
- my.cnf解决中文乱码
- 【ThinkingInJava】17、匿名类的工厂方法
- 出现错误ActivityManager: Warning: Activity not started, its current task has been
- play 的action映射页面
- 工程师的自我修养
- leetcode_树_相关内容
- Qt事件触发与处理
- 机房收费系统数据库小助手——Sqlhelper
- iOS App 跳转到本App相关设置页面
- CD,决策树