Yes, you need to avoid adding dummy functions. This just make your code hard to maintain and inefficient. Have a look at this documentation as I think it should give you an idea of how you could use interfaces in your case: https://docs.oracle.com/javase/tutorial/java/IandI/interfaceAsType.html
Notice that all classes in Java inherits from the Object class, so you could have a container of Objects like this:
ArrayList objectList = new ArrayList();
And it should hold any of your instantiated objects. It becomes more tedious if you want to invoke functions defined in derived classes of these objects. To do this would require to do type casting. You might need to do this when using interfaces. There are some user cases that you can avoid this type casting but all boils down to your design. Maybe you should discuss a bit more about:
- Why you should interfaces
- Example code of what you are trying to implement. No need to provide full code, but better to provide a small sample showing the backbone and all the good stuff.
Finally, I checked an there are some previous posts similar to yours. For instance: https://discourse.processing.org/t/looping-different-class-instances/5843/10 It is a good idea to have a look at some of them. If something is not clear, you can cross-posted here and ask for further clarification.
Kf