代码之家  ›  专栏  ›  技术社区  ›  GuruKulki

相当于在Java中扩展最后一个类

  •  13
  • GuruKulki  · 技术社区  · 15 年前

    因为我有一个最终的类,其中包含我正在寻找的需求,所以如果我能以某种方式重用它,它将对我有很大的帮助。

    2 回复  |  直到 11 年前
        1
  •  28
  •   Maarten Bodewes    10 年前

    为最终类创建包装器?

    大概是这样的:

    class MyClass {
        private FinalClass finalClass;
    
        public MyClass {
            finalClass = new FinalClass():
        }
    
        public void delegatingMethod() {
            finalClass.delegatingMethod();
        }
    }
    

    像这样的包装类 MyClass FinalClass . 如果 实现您可以在中实现它们的任何接口 使班级更相似。这同样适用于孩子的任何非最终父母 最后一节课 ; 那样的话,你的 不过,设计应该与这些父类兼容。

    甚至可以在运行时使用反射创建包装器类。在这种情况下,您可以使用 Proxy class . 请注意,代理类确实需要深入了解Java类型系统。

        2
  •  3
  •   Aaron    15 年前

    最简单的选择是编写一个包装器,其中包含最终类的一个实例作为成员变量,并充当最终类的代理。