JavaSE基础知识(二十)--Java内部类之匿名内部类实现工厂设计模式

本文介绍了如何使用Java内部类中的匿名内部类优化工厂设计模式。通过代码示例展示了如何避免创建具名工厂类,以及如何在接口Service的实现类中创建静态工厂对象。强调了在设计中优先使用类而非接口的原则,并提供了工厂模式的步骤概述。
摘要由CSDN通过智能技术生成

Java SE 是什么,包括哪些内容(二十)?

本文内容参考自Java8标准
再次感谢Java编程思想对本文的启发!
之前有一篇博文谈到了工厂设计模式:JavaSE基础知识(十九)–Java接口之工厂设计模式https://blog.csdn.net/ruidianbaihuo/article/details/100513969.
现在通过使用匿名内部类来优化这篇博文的代码。
代码示例:

// 匿名内部类优化工厂设计模式
   //接口Service
   interface Service{
   
      //方法method1()
      void method1();
      //方法method2()
      void method2();
   }
   //接口ServiceFactory,代表用来产生Service类型的工厂
   interface ServiceFactory{
   
      //方法getService(),返回类型为Service类型
      Service getService();
   }
   //类Implementation1实现接口Service
   class Implementation1 implements Service{
   
      //private的构造方法
      private Implementation1() {
   }
      //实现方法method1()
      public void method1(){
   
         //打印字符串"Implementation1 method1"
         System.out.println("Implementation1 method1");
      }
      //实现方法method2()
      public void method2(){
   
         //打印字符串"Implementation1 method2"
         System.out.println("Implementation1 method2");
      }
      //static修饰的ServiceFactory类型的类变量factory.
      //创建了一个ServiceFactory类型的匿名内部类复制给factory
      public static ServiceFactory factory = new 
         ServiceFactory(){
   
            //实现了方法getService()
            public Service getService(){
   
               //实际返回的是类Implementation1的对象实例
               return new 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值