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

相关文章
|
10天前
|
Java 程序员 API
Java中的Lambda表达式:简化你的代码
【7月更文挑战第10天】Lambda表达式,这一Java 8的闪亮特性,为开发者提供了一种更为简洁、灵活的编程方式。本文将探讨Lambda表达式如何优化代码结构,提升开发效率,以及在实际项目中应用的一些实例。我们将从基础语法入手,逐步深入到高级用法,最后讨论其性能影响,旨在帮助读者全面理解并有效利用Lambda表达式。
34 20
|
3天前
|
测试技术 API Android开发
《手把手教你》系列基础篇(九十七)-java+ selenium自动化测试-框架设计篇-Selenium方法的二次封装和页面基类(详解教程)
【7月更文挑战第15天】这是关于自动化测试框架中Selenium API二次封装的教程总结。教程中介绍了如何设计一个支持不同浏览器测试的页面基类(BasePage),该基类包含了对Selenium方法的二次封装,如元素的输入、点击、清除等常用操作,以减少重复代码。此外,页面基类还提供了获取页面标题和URL的方法。
13 2
|
3天前
|
存储 缓存 JavaScript
|
11天前
|
监控 Java Maven
使用AspectJ实现Java代码的运行时织入
使用AspectJ实现Java代码的运行时织入
|
3天前
|
SQL Java 数据处理
实时计算 Flink版产品使用问题之使用MavenShadePlugin进行relocation并遇到只包含了Java代码而未包含Scala代码,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
Java 编译器 API
Java中的Lambda表达式:简化代码,提升性能
在Java 8中,Lambda表达式的引入为开发者提供了一种更加简洁、灵活的编程方式。本文将深入探讨Lambda表达式的概念、语法、使用场景及其在Java中的应用示例,帮助读者更好地理解和掌握这一强大工具,从而优化代码结构,提高开发效率。
|
2月前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
281 1
|
Java BI API
在Java代码中打日志需要注意什么?
日志是什么?日志是你在代码运行时打印出来的一些数据和记录,是快速排查问题的好帮手,是撕逼和甩锅的利器!
442 0
|
缓存 Java 网络架构
别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
别在 Java 代码里乱打日志了,这才是正确的打日志姿势!
148 0
|
Java BI Apache
在Java代码中打日志需要注意什么?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 为什么要打日志? 日志是什么?日志是你在代码运行时打印出来的一些数据和记录,是快速排查问题的好帮手! 做一件事情之前,先思考为什么。
在Java代码中打日志需要注意什么?