Home >Java >Javagetting Started >What is java encapsulation?

What is java encapsulation?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-11-14 10:06:241968browse

What is java encapsulation?

In object-oriented programming methods, encapsulation (Encapsulation) refers to a method of partially packaging and hiding the implementation details of an abstract functional interface. Encapsulation can be thought of as a protective barrier that prevents the code and data of the class from being randomly accessed by code defined by the external class. Access to the code and data of this class must be controlled through strict interfaces. The main function of encapsulation is that we can modify our own implementation code without modifying the program fragments that call our code. Proper encapsulation can make the program code easier to understand and maintain, and also enhances the security of the program code.

Advantages of encapsulation

1. Good encapsulation can reduce coupling.

2. The structure inside the class can be modified freely.

3. Member variables can be more precisely controlled.

4. Hide information and implement details.

Steps to implement Java encapsulation

1. Modify the visibility of the property to restrict access to the property (generally restricted to private), for example:

public class Person {
    private String name;
    private int age;
}

In this code, the name and age attributes are set to private, which can only be accessed by this class and not by other classes, thus hiding the information.

2. Provide external public method access to each value attribute, that is, create a pair of assignment methods for access to private attributes, for example:

public class Person{
    private String name;
    private int age;
    public int getAge(){
      return age;
    }
    public String getName(){
      return name;
    }
    public void setAge(int age){
      this.age = age;
    }
    public void setName(String name){
      this.name = name;
    }
}

Use this key The word is to resolve the conflict of the same name between the instance variable (private String name) and the local variable (name variable in setName(String name)).

Example

Let us look at an example of a java encapsulation class:

EncapTest.java file code:

/* 文件名: EncapTest.java */
public class EncapTest{
 
   private String name;
   private String idNum;
   private int age;
 
   public int getAge(){
      return age;
   }
 
   public String getName(){
      return name;
   }
 
   public String getIdNum(){
      return idNum;
   }
 
   public void setAge( int newAge){
      age = newAge;
   }
 
   public void setName(String newName){
      name = newName;
   }
 
   public void setIdNum( String newId){
      idNum = newId;
   }
}

Above The public method in the instance is the entrance for external classes to access the member variables of the class.

Normally, these methods are called getter and setter methods.

Therefore, any class that wants to access private member variables in the class must go through these getter and setter methods.

The following example illustrates how the variables of the EncapTest class are accessed:

RunEncap.java 文件代码:
/* F文件名 : RunEncap.java */
public class RunEncap{
   public static void main(String args[]){
      EncapTest encap = new EncapTest();
      encap.setName("James");
      encap.setAge(20);
      encap.setIdNum("12343ms");
 
      System.out.print("Name : " + encap.getName()+ " Age : "+ encap.getAge());
    }
}

The above code is compiled and run and the results are as follows:

Name : James Age : 20

numerousjava training videos , all on the PHP Chinese website, welcome to learn online!

The above is the detailed content of What is java encapsulation?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:What does java mean?Next article:What does java mean?