Java面向对象封装

简介: 封装的概念Java封装是一种面向对象的编程方法,它的主要思想是将类的内部细节(包括数据和方法)隐藏起来,对外只提供公共的访问接口,从而保证了程序的安全性和稳定性。封装具体实现步骤1、声明类的成员变量时,使用private关键字进行修饰,将变量设为私有属性(只能在类的内部访问)。2、为每个私有属性提供getter和setter方法,用来读取和修改私有属性。3、getter方法用于获取私有属性的值,setter方法用于设置私有属性的值。在方法内部,可以添加一些控制语句用于

封装的概念

Java封装是一种面向对象的编程方法,它的主要思想是将类的内部细节(包括数据和方法)隐藏起来,对外只提供公共的访问接口,从而保证了程序的安全性和稳定性。

封装具体实现步骤

1、声明类的成员变量时,使用private关键字进行修饰,将变量设为私有属性(只能在类的内部访问)。

2、为每个私有属性提供getter和setter方法,用来读取和修改私有属性。

3、getter方法用于获取私有属性的值,setter方法用于设置私有属性的值。在方法内部,可以添加一些控制语句用于判断赋值是否合法。

示例代码如下

public class Student {
    private String name; // 学生姓名
    private int age; // 学生年龄
    // 设置姓名
    public void setName(String name) {
        this.name = name;
    }
    // 获取姓名
    public String getName() {
        return name;
    }
    // 设置年龄
    public void setAge(int age) {
        if (age > 0 && age < 120) { // 判断年龄是否合法
            this.age = age;
        } else {
            System.out.println("输入的年龄不合法!");
        }
    }
    // 获取年龄
    public int getAge() {
        return age;
    }
}

在上面的代码中,我们将name和age属性都设为了private,然后分别为它们提供了getter和setter方法,以便在外部可以访问和修改这些属性。同时,在setAge()方法中添加了一些控制语句,用于判断输入的年龄是否合法。

使用封装的好处是,一方面可以保护数据的安全性,不会因为误操作而导致数据被破坏;另一方面,也方便了代码的维护和升级,如果后续需要修改属性的实现方式,只需要修改相应的getter和setter方法即可,对外部程序不会造成影响。

封装具体语法

访问修饰符 类型 变量名;
// 或者
访问修饰符 返回值类型 方法名(参数列表) {
    // 方法体
}

其中,访问修饰符可以是public、protected、private、default四种之一,分别表示访问权限从高到低。对于类的成员变量和方法,通常将其设置为private,表示只能在当前类中被访问,外部程序无法直接访问。为了使外部程序也能够访问这些属性,可以提供getter和setter方法来获取和修改私有属性。

另外,Java中的封装还可以使用关键字this来表示当前对象,以便在方法内访问当前对象的属性或调用其他方法。例如:this.age 表示当前对象的年龄属性,this.setName() 表示调用该对象的setName()方法。

总之,Java中的封装将类的数据和方法进行了包装和隐藏,对外只提供了公共的访问接口,从而保证了程序的安全性和稳定性。

目录
相关文章
|
21天前
|
存储 Java 数据处理
Java基础—笔记—面向对象篇
该内容是关于面向对象编程的介绍,包括类(用于定义数据和处理方法)、对象(通过类创建,存储和处理数据)的创建和使用,`this`关键字(代表调用方法的对象,用于区分成员变量和局部变量),成员变量与局部变量的区别(定义位置、初始化值、内存区域、作用域和生命周期),构造器(无返回值、与类名相同的特殊方法,用于对象创建和初始化),以及封装的概念(数据隐藏和暴露控制)和实现步骤(私有化成员变量,提供公共的setter和getter,以及构造器)。
17 0
|
3天前
|
Java
Java面向对象实践小结(含面试题)(下)
Java面向对象实践小结(含面试题)(下)
13 1
|
2天前
|
存储 Java 开发工具
【Java探索之旅】用面向对象的思维构建程序世界
【Java探索之旅】用面向对象的思维构建程序世界
9 0
|
2天前
|
Java
java使用面向对象实现图书管理系统
java使用面向对象实现图书管理系统
|
2天前
|
Java
Java语言---面向对象的三大特征之继承
Java语言---面向对象的三大特征之继承
|
2天前
|
机器学习/深度学习 Java Python
Java面向对象知识体系---基础版
Java面向对象知识体系---基础版
|
3天前
|
安全 Java 编译器
Java面向对象思想以及原理以及内存图解(下)
Java面向对象思想以及原理以及内存图解(下)
11 0
|
3天前
|
Java
Java面向对象思想以及原理以及内存图解(上)
Java面向对象思想以及原理以及内存图解
14 0
|
3天前
|
设计模式 Java
Java面向对象实践小结(含面试题)(上)
Java面向对象实践小结(含面试题)
12 1
|
7天前
|
安全 Java
Java基础&面向对象&继承&抽象类
Java基础&面向对象&继承&抽象类