If I have for example a class along with a helper class to do some of its functionality, does it make sense to make it as an inner class.
public class F
If you think that FooHelper will not at all be useful for other classes than Foo, then it makes sense to make it as private inner class of Foo. One example of this kind of design can be found in HashMap where it defines a private inner class KeySet
Otherwise having it as a private instance looks good.