java encapsulation

<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>

java encapsulation是什么,让我们一起了解一下?

encapsulation在Java中是将数据(变量)和作用于数据(方法)的代码作为一个单元包装在一起的机制,在封装(encapsulation)中,类的变量将从其他类隐藏,并且只能通过其当前类的方法访问。

使用encapsulation的好处有哪些?

1、良好的封装能够减少耦合。

2、类内部的结构可以自由修改。

java encapsulation

3、可以对成员变量进行更精确的控制。

4、隐藏信息,实现细节。

那在java中encapsulation是如何使用的?

通过实际案例进行分析:

public class Student {    //属性:    private int age;    private String name;    private String sex;    //加入对应的setter和getter方法:    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String getSex() {        return sex;    }    public void setSex(String sex) {        if("男".equals(sex) || "女".equals(sex) ){//sex是男 或者 是 女            this.sex = sex;        }else{            this.sex = "男";        }    }    //加入构造器:    public Student(){    }    public Student(int age,String name,String sex){        this.age = age;        this.name = name;        //this.sex = sex;        this.setSex(sex);    }}

public class Test {    //这是一个main方法,是程序的入口:    public static void main(String[] args) {        //创建一个Student对象:        Student s1 = new Student();        s1.setName("nana");        s1.setAge(19);        s1.setSex("女");        System.out.println(s1.getName()+"---"+s1.getAge()+"----"+s1.getSex());        Student s2 = new Student(18,"菲菲","asdfasdfsadf");        System.out.println(s2.getName()+"---"+s2.getAge()+"----"+s2.getSex());    }}