I know that in Java we can’t extend a final class. But is there any alternative way where I get the effect of extending a final class?
Because I have a final class with the requirements I am looking for, so if somehow I can reuse this, it would be of great help for me.
Create a wrapper for the final class?
Something like this:
A wrapper class like
MyClasswon’t be accepted as an instance ofFinalClass. IfFinalClassimplements any interfaces you can implement them inMyClassto make the classes more alike. The same is true of any non-final parents of theFinalClass; in that case yourMyClassdesign should be compatible with those parent classes though.It is even possible to create a wrapper class during runtime using reflection. In that case you can use the
Proxyclass. Beware that proxy classes do require in depth knowledge about the Java type system.