Is there any elegant way to make Java method located within parent class return object of child class, when this method is called from child class object?
I want to implement this without using additional interfaces and extra methods, and to use this without class casts, auxiliary arguments and so on.
Update:
Sorry that I was not so clear.
I want to implement method chaining, but I have problems with methods of parent class: I lose access to child class methods, when i call parent class methods… I suppose that I’v presented the core of my idea.
So the methods should return this object of this.getClass() class.
If you’re just looking for method chaining against a defined subclass, then the following should work:
which could be abstract if you like, then some child objects that specify the generic return type (this means that you can’t access childBMethod from ChildA):
and then you use it like this
the output will be