All well and good, but if you're posting here to learn, you're going to have to expect criticism given in the spirit of learning to do things correctly. Having a parameter in the method is not s redundant, but rather it's simply wrong.
I am not, in fact, interested in making a program that involves fruit, I chose that as a simpler example that would allow me to demonstrate what I wanted. I'm well aware that the above fruit class example is redundant because it was just something I typed up in 2 minutes to use as an example.
But inner classes don't give you this ability.
I'm using the inner classes because I wanted to be able to have an ArrayList of fruit, that would be able to store all the instances of the different "fruit" while still allowing me to have different methods for each type of fruit.