Basic elements of object-oriented programming (OOP) in Java include classes, objects, and interfaces.
Classes define entities that usually represent something in the real world. They consist of a set of values that holds data and a set of methods that operates on the data.
Classes can inherit data members and methods from other classes. A class can directly inherit from only one class—the superclass. A class can have only one direct superclass. This is called inheritance.
An instance of a class is called an object, and it is allocated memory. There can be multiple instances of a class.
When implementing a class, the inner details of the class should be
private and accessible only through public interfaces. This is called encapsulation. The JavaBean convention is to use accessor and mutator methods (e.g.,
setFirstName("Leonardina")) to indirectly access the private members of a class and to ensure that another class cannot unexpectedly modify private members. Returning immutable values (i.e., strings, primitive values, and objects intentionally made immutable) is another way to protect the data members from being altered by other objects.
A class has a class signature, optional constructors, data members, and methods:
// Data member(s)