This question has been asked in many places, in particular here and here .
Both questions relate primarily to unlimited wildcards and generic types, but the same principles apply here. I would also recommend reading one of the links (Angelika Langer - Java Generics Frequently Asked Questions) provided by one of the answers to other questions (posted here for convenience).
While in your particular case there is no difference, the difference boils down to how you deal with data of the type inside (inside the method). Go with what seems to best describe your purpose. If you are dealing with data of an unknown type, and you need a specific input type that can be specifically used in this method, you will need to use a general approach. If, on the other hand, you are missing and it might be enough to process all the input as just a limiting type (for example, AbstractClass in your case), you can go with a limited wildcard approach.
initramfs
source share