Java:封装

简介: Java封装的介绍


封装:设置对象信息私有化,隐藏在对象内部,限制外部直接访问或调用,而通过该类所提供的方法来实现内部信息的操作或访问。

public class student 
{
    private int age ; //private访问修饰符,设置了age属性私有化,只能在本类访问。

    public int getAge(){  return age;  }  //取值

    public void setAge(int age) {  this.age = age;  }   //赋值
}

上面设置了属性私有化,又通过方法将其公开操作或访问,如此,是否多此一举呢,这就是为什么要封装?
封装的原因是:面向对象的编程语言的本质核心思想是对客观世界的模拟,所以要遵守客观事件的规则。在客观世界里,客观对象的状态信息都是隐藏在内部的,比如:对象好比我们的家,属性比如我们家的东西,是不允许别人随便的拿和放的。这是客观事实。所以,所有对客观世界模拟的JAVA程序里的对象也要封装。
封装的优点:

1.隐藏信息,实现细节
2.类内部的结构可以自由修改
3.良好的封装能够减少耦合
4.可以对成员变量进行更精确的控制(举例说明)
public class student {
    private int age ;

    public int getAge() {return age;}
    public void setAge(int age) {
        //属性age年龄的赋值操作是通过setAge()方法实现,可以在这做进一步精确的控制
        if(age > 0 && age < 150)
            {this.age = age;}
        else
            {
                System.out.println("年龄不符客观事实!");
                this.age = 18 ; //年龄不符,默认为18岁
            }
}}

​​image.png

封装隐藏了类的内部实现机制,可以在不影响使用的情况下改变类的内部结构,同时保护了数据。对外界而已它的内部细节是隐藏的,暴露外界的只是它访问的方法。

目录
相关文章
|
14天前
|
安全 Java 数据安全/隐私保护
|
14天前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
13 3
|
4月前
|
Java 编译器
Java基础知识:什么是封装、继承和多态?
Java基础知识:什么是封装、继承和多态?
69 0
|
4月前
|
Java C#
Java(十八)封装
Java(十八)封装
27 0
|
20天前
|
Java
Java常用封装Base对象
Java常用封装Base对象
8 0
|
1月前
|
Java 关系型数据库
JAVA类的设计与封装
JAVA类的设计与封装
13 1
|
1月前
|
Java 数据安全/隐私保护 开发者
从零到一:深入理解Java中的封装、继承与多态
从零到一:深入理解Java中的封装、继承与多态
39 0
|
1月前
|
安全 Java
java-基本数据类型的类封装
java-基本数据类型的类封装
14 0
|
1月前
|
Java
Java中的面向对象编程特性(封装、继承、多态)
Java中的面向对象编程特性(封装、继承、多态)
|
1月前
|
存储 Java 编译器
【详识JAVA语言】面向对象程序三大特性之一:封装
【详识JAVA语言】面向对象程序三大特性之一:封装
51 1