The advantage of a static nested class is that it doesn’t need an object of the containing class to work . This can help you to reduce the number of objects your application creates at runtime. It’s called a nested class. All nested classes are implicitly static; if they are not static they are called inner classes.