A class inside another class is called a Nested Class. In other words, as a class has member variables and member
methods it can also have member classes.
Static is one of the non-access modifier which has a huge role in Java. It can be used
with both variables and methods. It is used when we want some variable or method not to be a part of any specific object
of a class rather common for all objects of the class.
Objects are constructed. You can never make a new object without invoking a constructor (and not just the
constructor of the object’s actual class type, but also the constructor of each of its superclasses).
Reusing the same method name in the same class or subclass but with different arguments
(and optionally, a different return type) is called Method Overloading in Java.
Reimplementing the inherited method from the parent class in the child class is called Overriding in Java.