Java 面向对象之旅:在封装的港湾中,找到代码的安宁。

简介: 【6月更文挑战第15天】封装是Java面向对象的核心,它保护了类的内部数据,如`Book`和`Student`类中的属性。通过设定私有成员和公共方法,代码更有序,防止直接访问导致的混乱。封装提供了一种控制数据交互的方式,确保安全,如`setGpa()`方法验证输入。这使得代码结构清晰,如同港湾中的船只,井然有序,赋予编程过程美感和安全感。在面向对象的旅程中,封装是我们的庇护所,助力我们构建更美好的程序世界。

当我们踏上 Java 面向对象的奇妙旅程时,封装就如同一座宁静的港湾,给予我们的代码一份温馨与安全。

让我们从一个简单的示例开始感受封装的魅力。假设我们有一个“Book”类:

public class Book {
   
    private String title;
    private String author;

    public Book(String title, String author) {
   
        this.title = title;
        this.author = author;
    }

    public String getTitle() {
   
        return title;
    }

    public String getAuthor() {
   
        return author;
    }
}

在这里,书名和作者被封装在类的内部,成为了它的私有成员。这种封装就像是给这些重要的信息围上了一圈温暖的保护墙。

为什么要这样做呢?想象一下,如果这些属性可以被随意访问和修改,那我们的代码世界将会变得多么混乱。封装确保了只有通过特定的方法,如 getTitle() 和 getAuthor(),才能与这些关键信息进行交互。

它给予了我们一种安心的感觉,就像在一个温馨的家中,我们知道自己的珍贵物品被妥善保管着。

再来看一个稍微复杂一点的例子,比如一个“Student”类:

public class Student {
   
    private int id;
    private String name;
    private double gpa;

    public Student(int id, String name, double gpa) {
   
        this.id = id;
        this.name = name;
        this.gpa = gpa;
    }

    public int getId() {
   
        return id;
    }

    public String getName() {
   
        return name;
    }

    public double getGpa() {
   
        return gpa;
    }

    public void setGpa(double gpa) {
   
        if (gpa >= 0 && gpa <= 4.0) {
   
            this.gpa = gpa;
        } else {
   
            System.out.println("无效的 GPA 值!");
        }
    }
}

在这个例子中,学生的各种信息被封装起来,我们通过方法来访问和修改相关属性。

封装让我们的代码结构更加清晰,就像在港湾中,船只整齐地停靠,一切都井然有序。

当我们在 Java 的海洋中航行时,封装就是那片宁静的港湾,让我们的代码找到安宁与归属。它让我们的编程过程变得更加美好和富有诗意。

让我们继续在这充满温情的 Java 面向对象之旅中前行,在封装的港湾中,享受代码带来的安宁与和谐,创造出更加美妙的程序世界。无论是小小的应用程序,还是庞大的系统,封装都将是我们坚实的依靠,为我们的代码注入温馨与安全的力量。让我们紧紧拥抱封装,在代码的海洋中乘风破浪,驶向成功的彼岸。

相关文章
|
6天前
|
安全 Java 编译器
深入理解Java中synchronized三种使用方式:助您写出线程安全的代码
`synchronized` 是 Java 中的关键字,用于实现线程同步,确保多个线程互斥访问共享资源。它通过内置的监视器锁机制,防止多个线程同时执行被 `synchronized` 修饰的方法或代码块。`synchronized` 可以修饰非静态方法、静态方法和代码块,分别锁定实例对象、类对象或指定的对象。其底层原理基于 JVM 的指令和对象的监视器,JDK 1.6 后引入了偏向锁、轻量级锁等优化措施,提高了性能。
22 3
|
14天前
|
前端开发 Java 测试技术
java日常开发中如何写出优雅的好维护的代码
代码可读性太差,实际是给团队后续开发中埋坑,优化在平时,没有那个团队会说我专门给你一个月来优化之前的代码,所以在日常开发中就要多注意可读性问题,不要写出几天之后自己都看不懂的代码。
52 2
|
28天前
|
Java 编译器 数据库
Java 中的注解(Annotations):代码中的 “元数据” 魔法
Java注解是代码中的“元数据”标签,不直接参与业务逻辑,但在编译或运行时提供重要信息。本文介绍了注解的基础语法、内置注解的应用场景,以及如何自定义注解和结合AOP技术实现方法执行日志记录,展示了注解在提升代码质量、简化开发流程和增强程序功能方面的强大作用。
68 5
|
28天前
|
存储 算法 Java
Java 内存管理与优化:掌控堆与栈,雕琢高效代码
Java内存管理与优化是提升程序性能的关键。掌握堆与栈的运作机制,学习如何有效管理内存资源,雕琢出更加高效的代码,是每个Java开发者必备的技能。
55 5
|
25天前
|
Java
java中面向过程和面向对象区别?
java中面向过程和面向对象区别?
22 1
|
27天前
|
安全 Java API
Java中的Lambda表达式:简化代码的现代魔法
在Java 8的发布中,Lambda表达式的引入无疑是一场编程范式的革命。它不仅让代码变得更加简洁,还使得函数式编程在Java中成为可能。本文将深入探讨Lambda表达式如何改变我们编写和维护Java代码的方式,以及它是如何提升我们编码效率的。
|
7月前
|
搜索推荐 Java
Java的面向对象特性主要包括封装、继承和多态
【4月更文挑战第5天】Java的面向对象特性主要包括封装、继承和多态
54 3
|
7月前
|
Java 程序员 编译器
【详识JAVA语言】面向对象程序三大特性之二:继承
【详识JAVA语言】面向对象程序三大特性之二:继承
74 2
|
6月前
|
Java 开发者
Java 面向对象新视界:揭秘子类如何“继承”父类精华,再添“创新”之笔
【6月更文挑战第16天】在Java的面向对象世界,子类继承父类的特性,如`Circle`继承`Shape`,展示“is-a”关系。子类不仅保留父类的`color`和`display`方法,还添加了`radius`属性及定制的显示逻辑。这种继承与创新允许代码复用,增强灵活性和可扩展性,使得构建复杂系统变得更加高效和模块化。通过持续的继承与定制,开发者能构建出一系列独具特色的类,充分展现面向对象编程的力量。
158 57
|
5月前
|
Java 编译器
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类
Java面向对象(三)详解: 封装 | 继承 | 方法重写 | 抽象类