Because the Wiki is already available, I just copied it, do not explain again around:
- Encapsulation: Hide information. This property does not allow the user of objects to change the intrinsic state of an object. Only the internal methods of an object allow to change its state. It is up to the code writer to allow the external environment to influence the internal data of an object. This is property to ensure the integrity of the object.
- Inheritance: This property allows one object to make available properties that another object already has through inheritance. This allows objects to share or extend existing properties without having to redefine. However, not all object-oriented languages have this property.
- Polymophism: Demonstrated through sending the message (message). Sending these messages is comparable to calling the inner functions of an object. The methods used to respond to a message will depend on the object to which the message is sent will have a different response. The programmer can define a property (eg, through the names of methods) for a series of objects that are close together, but when executed using the same name, the execution of each object will automatically. happened according to the characteristics of each object without confusion.
OOP in Java
As you all know, Java is an object-oriented language, so implementing OOP features is very simple and fast, easy to understand.
Enclosure in Java is demonstrated by giving a way to declare private fields, only accessible internally through get, set functions.
With these declarations, closure is not guaranteed. Properties can be accessed and changed from outside. Here, we have to use local variables.