Sorry this questions a little long, but I'll explain it as efficiently as I can
So lets say you have a fruit class, and apple and orange are both classes that inherit from fruit.
And say I'm making a game where armies are battling using fruits and fruit weapons.
So now I want to make an abstract FruitCanon class, that will use and shoot one kind of fruit, so I use a generic class.
public...