What I have is this:
public abstract class Ability {
public class Action extends Ability{}
public class Reaction extends Ability{}
public class Support extends Ability{}
}
I have it like that so I don't have all of the Ability-extended classes in their own .java file (to save room and to keep tidy while coding). And so i can access each class by only importing blah.blah.Ability, then making a new Action Ability like so:
Ability.Action Jump = new Ability.Action();
My question is, does doing it this way lead to any adverse side effects? such as memory leaks, or something of similar unwanted nature.